共用方式為


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

在 Fabric Data Factory 中,CI/CD(持續整合和持續開發)可透過自動處理程式碼變更,從測試到部署,協助小組更快且更可靠地工作。

目前,Fabric 支援 CI/CD 的兩個主要功能,與應用程式生命週期管理 (ALM) 小組合作建置:Git 整合和部署管線。 這些工具可讓您一次匯入和匯出工作區資源,因此您只能更新所需的資源。

與通常使用 ARM 範本更新整個工廠的 Azure Data Factory 不同,Fabric 的做法讓你有更多掌控權。 您可以更新特定管線,而不暫停所有專案。 Git 整合(自備 Git 進行整合)和部署流程(內建 CI/CD)都將一個工作區連結至一個環境。 所以,你要為開發、測試和生產設定不同的工作區。

總結

本文將指引你透過兩種方法在 Microsoft Fabric 中進行 Data Factory 管線的 CI/CD 設定:Git 整合與部署管線。 你會學習 CI/CD 的基礎,了解 Git 版本控制如何與管線運作,並實作自動化部署工作流程。

首先,回顧 「理解 CI/CD、Git 與部署管線 」章節,了解持續整合、持續部署的核心概念,以及 Git 版本控制如何與部署管線整合。

要設定 Git 整合以支援管線,請遵循以下步驟:

  1. 連接 Git 倉庫 - 將您的 Fabric 工作空間連結到 Azure DevOps 或 GitHub
  2. 連接工作區 - 指定分支與資料夾細節
  3. 將變更提交到 Git - 追蹤並管理你的管線變更版本控制
  4. 從 Git 更新工作區 - 同步您 Git 儲存庫的變更(可選)

要設定部署流程,請依照以下步驟操作:

  1. 建立部署管線 - 定義您的 CI/CD 管線結構
  2. 命名管線並指派階段 - 配置開發、測試及生產階段
  3. 將工作區指派到部署管線 - 新增管理內容
  4. 部署到空白階段 - 將內容透過管道階段移動
  5. 將內容從一個階段部署到另一個階段 ——促進跨環境的變更

為什麼開發人員使用 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 存放庫時,它會觸發 CI/CD 管線。 此整合可確保最新的程式代碼變更一律會自動測試及部署。

階段和作業

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

自動化工作流程

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

開始進行管線的 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. 您可以檢閱部署歷程記錄,以查看上次將內容部署到每個階段的時間。 若要在部署之前檢查兩個管線之間的差異,請參閱 比較不同部署階段的內容。

排程管道 CI/CD 整合

當你為管線建立排程時,它會自動加入連接到你工作區的 Git 儲存庫,並存入管線定義中的 .schedules 檔案。

Fabric Data Factory 中排程管線的 .schedules 檔案螢幕擷取畫面。

已知的限制

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

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