在 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 整合以支援管線,請遵循以下步驟:
- 連接 Git 倉庫 - 將您的 Fabric 工作空間連結到 Azure DevOps 或 GitHub
- 連接工作區 - 指定分支與資料夾細節
- 將變更提交到 Git - 追蹤並管理你的管線變更版本控制
- 從 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 存放庫時,它會觸發 CI/CD 管線。 此整合可確保最新的程式代碼變更一律會自動測試及部署。
階段和作業
部署管線包含每個階段內的多個階段和作業。 一般而言,這些階段分成三種環境:開發(編譯程序代碼)、測試(執行測試)和生產環境(部署應用程式)。 管線會逐步執行這些階段,以確保程式代碼會以受控制的方式徹底測試及部署。
自動化工作流程
部署管線會將建置、測試和部署程式代碼的整個程序自動化。 此自動化可降低人為錯誤的風險、加快開發程式,並確保程式代碼變更一致且可靠地傳遞至生產環境。
開始進行管線的 Git 整合
請執行下列步驟,為 Data Factory 中的管線設定 Git 整合:
Git 整合的必要條件
若要使用您的 Microsoft Fabric 工作區存取 Git,請確定下列 Fabric 和 Git 的必要條件。
- Power BI Premium 授權或網狀架構容量。
- 從管理入口網站啟用下列租用戶參數:
- 使用者可以建立 Fabric 項目
- 使用者可以將工作區項目與 Git 存放庫同步處理
- (僅適用於 GitHub 使用者) 用戶可以同步處理工作區專案與 GitHub 存放庫
- Azure DevOps 或 GitHub 帳戶。
- 對於 Azure DevOps 組織:
- 註冊在使用同一 Fabric 工作區的相同使用者名下的活躍的 Azure 帳號。 建立免費帳戶。
- 存取現有的存放庫
- 針對 GitHub 帳戶:
- 作用中的 GitHub 帳戶。 建立免費帳戶。
- 具有內容讀取和寫入許可權的精細令牌、存放庫許可權下,或已啟用存放庫範圍的 GitHub 傳統權杖。
- 對於 Azure DevOps 組織:
步驟 1:連線至 Git 存放庫
若要在 Fabric 中使用 Git 與 Data Factory 管線整合,您必須先連線到 Git 存放庫,如這裡所述。
登入 Fabric 並流覽至您想要連線至 Git 的工作區。
選取工作區設定。
選取 [Git 整合]。
選取 Git 提供者。 目前,Fabric 僅支援 Azure DevOps 或 GitHub。 如果您使用 GitHub,您必須選取 [ 新增帳戶 ] 以連線 GitHub 帳戶。 登入之後,選取連線以允許 Fabric 存取您的 GitHub 帳戶。
步驟 2:連線到工作區
聯機到 Git 存放庫之後,您必須連線到工作區,如這裡所述。
從下拉式功能表中指定您要連線之分支的下列詳細資料:
針對 Azure DevOps 分支連線,請指定下列詳細資料:
- 組織:Azure DevOps 組織名稱。
- 專案:Azure DevOps 項目名稱。
- 存放庫:Azure DevOps 存放庫名稱。
- 分支:Azure DevOps 分支名稱。
- 資料夾:Azure DevOps 資料夾名稱。
針對 GitHub 分支連線,請指定下列詳細資料:
- 存放庫 URL:GitHub 存放庫 URL。
- 分支:GitHub 分支名稱。
- 資料夾:GitHub 資料夾名稱。
選取 [連線和同步]。
聯機之後,工作區會顯示原始檔控制的相關信息,可讓用戶檢視連線的分支、分支中每個項目的狀態,以及上次同步處理的時間。
步驟 3:將變更認可至 Git
聯機到 Git 存放庫和工作區之後,您可以認可 Git 的變更,如這裡所述。
移至工作區。
選取 [原始檔控制] 圖示。 此圖示會顯示未認可的變更數目。
從 [原始檔] 控制面板選取 [變更] 索引標籤。 清單隨即出現,其中包含您變更的所有專案,以及指出狀態的圖示:
[新增]、[修改
]、[衝突
] 或 [已刪除]。
選取您要認可的項目。 若要選取所有項目,請選取頂端方塊。
(選擇性) 在方塊中新增認可批注。
選取 [認可]。
認可變更之後,已認可的項目會從清單中移除,而工作區會指向其已同步的新認可。
步驟 4:(選擇性) 從 Git 更新工作區
移至工作區。
選取 [原始檔控制] 圖示。
從 [來源] 控制面板選取 [更新]。 清單隨即出現,其中包含自上次更新後從 Git 連線來源變更分支中的所有專案。
選取 [全部更新]。
成功更新之後,會移除專案清單,而工作區會指向同步處理的新認可。
開始使用 Git 的部署管線
請採取下列步驟,搭配您的 Fabric 工作區使用 Git 部署管線。
部署管線的必要條件
開始之前,請務必設定下列必要條件:
- 作用 中Microsoft網狀架構訂用帳戶。
- 網狀架構工作區的系統管理員存取權。
步驟 1:建立部署管線
從 [ 工作區] 飛出視窗,選取 [ 部署管線]。
選取 [ 建立管線 ] 或 [+ 新增管線]。
步驟 2:為管線命名並指派階段
在 [建立部署管線] 對話方塊中,輸入管線的名稱與描述,然後選取 [下一步]。
透過定義部署管線的必要階段來設定部署管線的結構。 根據預設,管線有三個階段:開發、測試和生產。
您可以新增階段、刪除階段或在方塊中輸入新名稱來重新命名階段。 完成時,請選取 [建立 ] (或 [建立並繼續]。
步驟 3:將工作區指派給部署管線
建立管線之後,您必須將您想要管理的內容新增至管線。 透過將工作區指派給管線階段,即可將內容新增至管線。 您可以將工作區指派至任何階段。 依照指示將 工作區指派給管線。
步驟 4:部署至空白階段
當您在一個管線階段中完成內容工作時,您可以將它部署到下一個階段。 部署管線提供三種部署內容的選項:
選擇如何部署內容之後,您可以 檢閱部署並留下附註。
步驟 5:將內容從一個階段部署到另一個階段
- 一旦在管線階段有了內容,就可以將其部署到下一個階段,即使下一個階段的工作區也有內容。 已配對的項目會被覆寫。 您可以在將內容部署至現有的工作區一節中,深入瞭解此程式。
- 您可以檢閱部署歷程記錄,以查看上次將內容部署到每個階段的時間。 若要在部署之前檢查兩個管線之間的差異,請參閱 比較不同部署階段的內容。
排程管道 CI/CD 整合
當你為管線建立排程時,它會自動加入連接到你工作區的 Git 儲存庫,並存入管線定義中的 .schedules 檔案。
已知的限制
下列已知限制適用於 Microsoft Fabric 中 Data Factory 中管線的 CI/CD:
- 工作區變數:CI/CD 目前不支援工作區變數。
- Git 整合有限支援:目前,Fabric 僅支援 Git 與 Azure DevOps 和 GitHub 的整合。 建議使用 Azure DevOps Git 整合,因為 GitHub Git 整合具有更多限制。
- 使用 OAuth 連接器的管線活動:針對 MS Teams 和 Outlook 連接器,部署至較高環境時,用戶必須手動開啟每個管線並登入每個活動,這是目前的限制。
- 叫用數據流的管線:當叫用數據流的管線升級時,它仍然會參考上一個工作區中的數據流,不正確。 之所以發生此行為,是因為部署管線目前不支持數據流。