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 的必要條件。
- 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:將內容從一個階段部署到另一個階段
- 一旦在管線階段有了內容,就可以將其部署到下一個階段,即使下一個階段的工作區也有內容。 已配對的項目會被覆寫。 您可以在將內容部署至現有的工作區一節中,深入瞭解此程式。
- 您可以檢閱部署歷程記錄,以查看上次將內容部署到每個階段的時間。 若要在部署之前檢查兩個管線之間的差異,請參閱 比較不同部署階段的內容。
已知的限制
下列已知限制適用於 Microsoft Fabric 中 Data Factory 中管線的 CI/CD:
- 工作區變數:CI/CD 目前不支援工作區變數。
- Git 整合有限支援:目前,Fabric 僅支援 Git 與 Azure DevOps 和 GitHub 的整合。 建議使用 Azure DevOps Git 整合,因為 GitHub Git 整合具有更多限制。
- 使用 OAuth 連接器的管線活動:針對 MS Teams 和 Outlook 連接器,部署至較高環境時,用戶必須手動開啟每個管線並登入每個活動,這是目前的限制。
- 叫用數據流的管線:當叫用數據流的管線升級時,它仍然會參考上一個工作區中的數據流,不正確。 之所以發生此行為,是因為部署管線目前不支持數據流。