整合 Azure Machine Learning 與 DevOps 工具
假設您在機器學習專案上與數據科學小組合作。 您的小組可以選擇使用 Azure DevOps 或 GitHub 來規劃工作、儲存程式代碼存放庫,以及自動化工作流程。
使用任一組工具時,通常有兩個角色:
- 系統管理員:設定DevOps環境並管理工具。
- 終端使用者:透過共同開發來對專案做出貢獻。 連接至工具,但其對 DevOps 環境的配置存取受到限制。
系統管理員負責將 Azure Machine Learning 與 Azure DevOps 或 GitHub 連線。 若要瞭解如何設定與 Azure Machine Learning 的整合,讓我們來探索系統管理員如何安全地將 Azure DevOps 和 GitHub 與 Azure Machine Learning 連線。
設定 Azure DevOps
若要將 Azure DevOps 與 Azure Machine Learning 連線,您必須先建立組織和專案。 您將使用組織來分組和管理專案。
首先,使用 Microsoft 或 GitHub 帳戶登入 Azure DevOps。
登入之後,您可以建立 組織。
中的新組織
在組織內,您可以在 建立多個專案。
中的新專案
針對每個專案,您將能夠存取 Boards、Repos和 Pipelines 等工具,以在您的專案中套用 DevOps 原則。
將 Azure DevOps 連線至 Azure Machine Learning
若要從 Azure DevOps 安全地存取 Azure Machine Learning 工作區,您必須建立 服務連線。
當您建立服務連線時,您會定義如何驗證 Azure DevOps 以連線至另一個服務。 當您使用 Azure Machine Learning 時,建議的選項是讓 Azure DevOps 為您建立服務主體。
服務主體 被創建為 Microsoft Entra ID中的身分識別。 Azure DevOps 不會使用小組成員的認證來與 Azure Machine Learning 連線,而是使用服務主體的認證。
建立 Azure DevOps 專案時,您可以連線到現有的 Azure Machine Learning 工作區:
- 在專案中,移至 [項目設定]。
- 選取 服務連線 並建立新的連線。
- 選擇 Azure Resource Manager。
- 選擇使用自動服務主體 進行驗證。
- 將範圍層級設定為 Machine Learning 工作區,並連線到您有權存取的現有 Azure Machine Learning 工作區。
- 授予所有流水線的存取權限。
- 提供您的服務連線名稱。 每當您需要驗證 Azure DevOps 來管理 Azure Machine Learning 工作區時,您都會使用名稱。
中的新服務連線
建立服務連線之後,您會發現新建立的服務主體帳號已具有 參與者 存取權限,進入您的 Azure Machine Learning 工作區。
設定 GitHub
若要將 GitHub 與 Azure Machine Learning 連線,您必須先建立 GitHub 存放庫。
從登入 GitHub開始。
登入 GitHub 之後,您可以選擇身為個人想要擁有存放庫,還是應該由 GitHub 組織擁有。
中的新存放庫
使用 Azure Machine Learning 連接 GitHub
若要使用 GitHub 將機器學習工作流程自動化,您可以驗證 GitHub 以與 Azure Machine Learning 連線。 若要設定安全的連線,您必須:
- 在 Azure 中建立服務主體。
- 將服務主體的認證新增至存放庫的機密資訊。
若要建立服務主體,您可以使用 Azure CLI。 若要使用 CLI,其中一個選項是在 Azure Cloud Shell提交命令。
您可以使用下列命令,建立名為 github-aml-sp
的服務主體,並賦予其 Azure Machine Learning 工作區的貢獻者 存取權限:
az ad sp create-for-rbac --name "github-aml-sp" --role contributor \
--scopes /subscriptions/<subscription-id>/resourceGroups/<group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name> \
--sdk-auth
建立服務主體之後,JSON 文字會以輸出形式傳回給您,其中包含 GitHub 必須連線到 Azure 資源群組的認證。 複製 JSON 文字並儲存以供下一個步驟使用。
若要將這些認證儲存在 GitHub 中:
- 移至存放庫的 [設定]。
- 導航至 秘密 頁面。
- 選擇 [動作] []。
- 新增新的存放庫密碼。
- 輸入
AZURE_CREDENTIALS
作為名稱。 - 將含有憑證的輸出 JSON 貼上,並新增密鑰。
中的新秘密
將秘密新增至 GitHub 之後,每當需要驗證 GitHub 才能使用 Azure Machine Learning 工作區時,您可以使用 AZURE_CREDENTIALS
秘密。
提示
繼續學習,以整合 GitHub 與 Azure Machine Learning,並探索如何 搭配 Azure Machine Learning 使用 GitHub Actions。 本教學課程會使用 AZURE_CREDENTIALS
秘密來與 Azure 連線。