共用方式為


Microsoft Fabric 中 Data Factory 中管線的 CI/CD

在 Fabric Data Factory 中,持續整合和持續開發 (CI/CD) 會將程式代碼變更的整合、測試和部署自動化,以確保有效率且可靠的開發。

在 Fabric 中,我們目前與應用程式生命週期管理 (ALM) 小組合作支援兩項功能:Git 整合和部署管線。 這些功能可讓使用者使用個別更新匯入/導出工作區資源。

Fabric Data Factory CI/CD 解決方案與使用 ARM 範本匯出方法進行整個處理站更新的 Azure Data Factory 模型偏離。 此方法中的這項變更可讓客戶選擇性地選擇要更新的管線,而不需要暫停整個處理站。 Git 整合(自備 Git)和部署管線(內建 CI/CD)都使用將單一工作區與單一環境相關聯的概念。 您必須將不同的工作區對應至不同的環境,例如開發、測試和生產環境。

為什麼開發人員使用 CI/CD

CI/CD 是自動化軟體傳遞的做法,可解決幾個突出的痛點:

  • 手動整合問題:若沒有 CI/CD,手動整合程式代碼變更可能會導致衝突和錯誤,進而減緩開發速度。
  • 開發延遲:手動部署相當耗時且容易發生錯誤,導致傳遞新功能和更新的延遲。
  • 不一致的環境:不同的環境(開發、測試和生產環境)可能會有不一致的情況,導致難以偵錯的問題。
  • 缺乏可見度:如果沒有 CI/CD,追蹤變更並瞭解程式代碼基底的狀態可能會很困難。

瞭解 CI/CD、Git 和部署管線

CI/CD 由持續整合和持續部署所組成。

持續整合 (CI)

開發人員經常認可至 Git 管理的主要分支,並觸發自動化測試和組建以進行整合。 Git 會追蹤變更,以啟用新認可的自動擷取和測試。

持續部署 (CD)

著重於透過部署管線內的結構化部署階段,將已驗證的變更部署到生產開發。

Git 與 Data Factory 管線整合

Git 是一種版本控制系統,可讓開發人員追蹤其程式代碼基底的變更(或管線案例中的 JSON 程式代碼定義),並與其他人共同作業。 它提供集中式存放庫,其中會儲存和管理程式碼變更。 目前,Git 可透過 GitHub 或 Azure DevOps 在 Fabric 中受到支援。 使用 Git 時,有一些重要的工作流程基本概念可供瞭解。

  • 主要分支:主要分支,有時稱為 主要分支,會保存生產就緒程序代碼。
  • 功能分支:這些分支與主要分支分開,並允許隔離開發,而不需要變更主要分支。
  • 提取要求 (PR):P R 可讓使用者在整合之前提出、檢閱和討論變更。
  • 合併:當核准變更時,就會發生此情況。 Git 會整合這些變更,並持續更新專案。

Git 的部署管線

部署管線與 Git 緊密整合。 當開發人員將程式代碼變更推送至 Git 存放庫時,它會觸發 CI/CD 管線。 此整合可確保最新的程式代碼變更一律會自動測試及部署。

階段和作業

部署管線包含每個階段內的多個階段和作業。 一般而言,這些階段分成三種環境:開發(編譯程序代碼)、測試(執行測試)和生產環境(部署應用程式)。 管線會逐步執行這些階段,以確保程式代碼會以受控制的方式徹底測試及部署。

自動化工作流程

部署管線會將建置、測試和部署程式代碼的整個程序自動化。 此自動化可降低人為錯誤的風險、加快開發程式,並確保程式代碼變更一致且可靠地傳遞至生產環境。

開始使用Data Factory管線的 Git 整合

請執行下列步驟,為 Data Factory 中的管線設定 Git 整合:

Git 整合的必要條件

若要使用您的 Microsoft Fabric 工作區存取 Git,請確定下列 Fabric 和 Git 的必要條件。

步驟 1:連線至 Git 存放庫

若要在 Fabric 中使用 Git 與 Data Factory 管線整合,您必須先連線到 Git 存放庫,如這裡所述。

  1. 登入 Fabric 並流覽至您想要連線至 Git 的工作區。

  2. 選取工作區設定

    此螢幕快照顯示在網狀架構 UI 中選取工作區設定的位置。

  3. 選取 [Git 整合]

  4. 選取 Git 提供者。 目前,Fabric 僅支援 Azure DevOpsGitHub。 如果您使用 GitHub,您必須選取 [ 新增帳戶 ] 以連線 GitHub 帳戶。 登入之後,選取連線以允許 Fabric 存取您的 GitHub 帳戶。

    此螢幕快照顯示新增 GitHub 工作區 Git 整合的 GitHub 帳戶的位置。

步驟 2:連線到工作區

聯機到 Git 存放庫之後,您必須連線到工作區,如這裡所述。

  1. 從下拉式功能表中指定您要連線之分支的下列詳細資料:

    1. 針對 Azure DevOps 分支連線,請指定下列詳細資料:

      • 組織:Azure DevOps 組織名稱。
      • 專案:Azure DevOps 項目名稱。
      • 存放庫:Azure DevOps 存放庫名稱。
      • 分支:Azure DevOps 分支名稱。
      • 資料夾:Azure DevOps 資料夾名稱。
    2. 針對 GitHub 分支連線,請指定下列詳細資料:

      • 存放庫 URL:GitHub 存放庫 URL。
      • 分支:GitHub 分支名稱。
      • 資料夾:GitHub 資料夾名稱。
  2. 選取 [連線和同步]

  3. 聯機之後,工作區會顯示原始檔控制的相關信息,可讓用戶檢視連線的分支、分支中每個項目的狀態,以及上次同步處理的時間。

    顯示 [網狀架構] 工作區的螢幕快照,其中已報告 Git 狀態和其他管線的詳細數據。

步驟 3:將變更認可至 Git

聯機到 Git 存放庫和工作區之後,您可以認可 Git 的變更,如這裡所述。

  1. 移至工作區。

  2. 選取 [原始檔控制] 圖示。 此圖示會顯示未認可的變更數目。

    網狀架構工作區 UI 中 [原始檔控制] 按鈕的螢幕快照。

  3. 從 [原始檔] 控制面板選取 [變更] 索引標籤。 清單隨即出現,其中包含您變更的所有專案,以及指出狀態的圖示:[新增]、[修改 ]、[衝突 ] 或 [已刪除]。

  4. 選取您要認可的項目。 若要選取所有項目,請選取頂端方塊。

  5. (選擇性) 在方塊中新增認可批注。

  6. 選取 [認可]

    Git 認可之原始檔控制對話框的螢幕快照。

認可變更之後,已認可的項目會從清單中移除,而工作區會指向其已同步的新認可。

步驟 4:(選擇性) 從 Git 更新工作區

  1. 移至工作區。

  2. 選取 [原始檔控制] 圖示。

  3. 從 [來源] 控制面板選取 [更新]。 清單隨即出現,其中包含自上次更新後從 Git 連線來源變更分支中的所有專案。

  4. 選取 [全部更新]

    此螢幕快照顯示網狀架構 UI 中 [原始檔控制] 對話方塊的 [更新] 索引標籤。

成功更新之後,會移除專案清單,而工作區會指向同步處理的新認可。

開始使用 Git 的部署管線

請採取下列步驟,搭配您的 Fabric 工作區使用 Git 部署管線。

部署管線的必要條件

開始之前,請務必設定下列必要條件:

步驟 1:建立部署管線

  1. 從 [ 工作區] 飛出視窗,選取 [ 部署管線]。

    顯示 [工作區] 飛出視窗的螢幕快照,其中含有網狀架構 UI 中的 [部署管線] 按鈕。

  2. 選取 [ 建立管線 ] 或 [+ 新增管線]。

步驟 2:為管線命名並指派階段

  1. 在 [建立部署管線] 對話方塊中,輸入管線的名稱與描述,然後選取 [下一步]

  2. 透過定義部署管線的必要階段來設定部署管線的結構。 根據預設,管線有三個階段:開發測試和生產

    顯示預設部署管線階段的螢幕快照。

    您可以新增階段、刪除階段或在方塊中輸入新名稱來重新命名階段。 完成時,請選取 [建立 ] (或 [建立並繼續]。

    顯示已填入範例部署管線的螢幕快照。

步驟 3:將工作區指派給部署管線

建立管線之後,您必須將您想要管理的內容新增至管線。 透過將工作區指派給管線階段,即可將內容新增至管線。 您可以將工作區指派至任何階段。 依照指示將 工作區指派給管線

步驟 4:部署至空白階段

  1. 當您在一個管線階段中完成內容工作時,您可以將它部署到下一個階段。 部署管線提供三種部署內容的選項:

    • 完整部署:將您的所有內容部署到目標階段。
    • 選擇性部署:選取要部署到目標階段的內容。
    • 回溯部署:將內容從稍後階段部署至管線中的舊階段。 目前,僅在目標階段是空的的情況下,才能進行回溯部署 (沒有已指派的工作區)。
  2. 選擇如何部署內容之後,您可以 檢閱部署並留下附註

步驟 5:將內容從一個階段部署到另一個階段

  1. 一旦在管線階段有了內容,就可以將其部署到下一個階段,即使下一個階段的工作區也有內容。 已配對的項目會被覆寫。 您可以在將內容部署至現有的工作區一節中,深入瞭解此程式。
  2. 您可以檢閱部署歷程記錄,以查看上次將內容部署到每個階段的時間。 若要在部署之前檢查兩個管線之間的差異,請參閱 比較不同部署階段的內容。

已知的限制

下列已知限制適用於 Microsoft Fabric 中 Data Factory 中管線的 CI/CD:

  • 工作區變數:CI/CD 目前不支援工作區變數。
  • Git 整合有限支援:目前,Fabric 僅支援 Git 與 Azure DevOps 和 GitHub 的整合。 建議使用 Azure DevOps Git 整合,因為 GitHub Git 整合具有更多限制。
  • 使用 OAuth 連接器的管線活動:針對 MS Teams 和 Outlook 連接器,部署至較高環境時,用戶必須手動開啟每個管線並登入每個活動,這是目前的限制。
  • 叫用數據流的管線:當叫用數據流的管線升級時,它仍然會參考上一個工作區中的數據流,不正確。 之所以發生此行為,是因為部署管線目前不支持數據流。