教學課程:使用 Azure Pipelines 在 CI/CD 中部署環境
在本教學課程中,您將瞭解如何將 Azure 部署環境 (ADE) 整合到 Azure Pipelines CI/CD 管線中。
持續整合和持續傳遞 (CI/CD) 是一種軟體開發方法,可協助小組自動化建置、測試及部署軟體變更的程式。 CI/CD 可讓您更頻繁且更有信心地發行軟體變更。
開始本教學課程之前,請先檢閱 Azure 部署環境的重要概念,以熟悉部署環境資源和概念。
在本教學課程中,您會了解如何:
- 建立及設定 Azure Repos 存放庫
- 將目錄 連線 至您的開發人員中心
- 設定服務連線
- 建立管線
- 建立環境
- 測試 CI/CD 管線
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。
- Azure 訂用帳戶上的擁有者權限。
- Azure DevOps 訂用帳戶。
- 免費建立帳戶。
- Azure DevOps 組織和專案。
- Azure 部署環境。
建立及設定 Azure Repos 存放庫
- 登入您的 Azure DevOps 組織 (
https://dev.azure.com/<your-organization>
),然後選取您的專案。 將<your-organization>
文字佔位元取代為您的項目標識碼。 - 選取 [存放庫] > [檔案]。
- 在 [ 匯入存放庫] 中,選取 [ 匯入]。
- 在 [ 匯入 Git 存放庫] 中,選取或輸入下列專案:
- 存放庫類型:Git
- 複製網址: https://github.com/Azure/deployment-environments
設定環境類型
環境類型會定義開發小組可以部署的不同環境類型。 您可以為每個環境類型套用不同的設定。 您可以在開發人員中心層級建立環境類型,並在專案層級參考。
建立開發人員中心環境類型:
登入 Azure 入口網站。
在 開發人員中心中,選取您的開發人員中心。
在 [環境設定] 下方的左側功能表中,選取 [環境類型],然後選取 [建立]。
使用下列步驟建立三種環境類型:Sandbox、FunctionApp、WebApp。 在 [建立環境類型] 中,輸入下列資訊,然後選取 [ 新增]。
名稱 數值 名稱 輸入環境類型的名稱。 Tags (標籤) 輸入標籤名稱和標籤值。 檢查您的 Azure 入口網站 通知,確認已新增環境類型。
建立項目環境類型:
在左側功能表中 ,選取 [管理],選取 [專案],然後選取您想要使用的專案。
在 [環境設定] 下方的左側功能表中,選取 [環境類型],然後選取 [新增]。
使用下列步驟來新增三種環境類型:Sandbox、FunctionApp、WebApp。 在 [將環境類型新增至 <項目名稱>] 中,輸入或選取下列資訊:
名稱 值 類型 選取開發人員中心層級環境類型,以針對特定項目啟用。 部署訂用帳戶 選取建立環境的訂用帳戶。 部署身分識別 選取系統指派的身分識別或使用者指派的受控識別,代表使用者執行部署。 環境資源>環境建立者角色的許可權 選取角色以授與環境資源的存取權。 環境資源>的許可權 其他存取權 選取要指派給環境資源上特定角色的使用者或 Microsoft Entra 群組。 Tags (標籤) 輸入標籤名稱和標籤值。 這些標籤會套用在建立為環境一部分的所有資源上。 檢查您的 Azure 入口網站 通知,確認已新增環境類型。
設定服務連線
在 Azure Pipelines 中,您會在 Azure DevOps 專案中建立 服務連線 ,以存取 Azure 訂用帳戶中的資源。 當您建立服務連線時,Azure DevOps 會建立 Microsoft Entra 服務主體物件。
登入您的 Azure DevOps 組織 (
https://dev.azure.com/<your-organization>
),然後選取您的專案。 將<your-organization>
文字佔位元取代為您的項目標識碼。選取 [項目設定>服務連線>+ 新增服務連線]。
在 [ 新增服務連線 ] 窗格中,選取 [Azure Resource Manager],然後選取 [ 下一步]。
選取 [ 服務主體][自動] 驗證方法,然後選取 [ 下一步]。
輸入服務連線詳細數據,然後選取 [ 儲存 ] 以建立服務連線。
欄位 值 範圍層級 訂用帳戶。 訂用帳戶 選取裝載開發人員中心資源的 Azure 訂用帳戶。 資源群組 選取包含開發人員中心資源的資源群組。 服務連線名稱 輸入服務連線的唯一名稱。 授與所有管線的訪問許可權 已核取。 從服務連線清單中,選取您稍早建立的連線,然後選取 [ 管理服務主體]。 Azure 入口網站 會在個別的瀏覽器索引標籤中開啟,並顯示服務主體詳細數據。
在 Azure 入口網站 中,複製 [顯示名稱] 值。 在下一個步驟中使用此值,將執行負載測試的許可權授與服務主體。
將服務連線存取權授與 ADE 專案
Azure 部署環境會使用角色型訪問控制來授與許可權,以在 ADE 資源上執行特定活動。 若要從 CI/CD 管線進行變更,您可以將部署環境使用者角色授與服務主體。
- 在 Azure 入口網站 中,移至您的 ADE 專案。
- 選取 [訪問控制][IAM][>新增>角色指派]。
- 在 [角色] 索引標籤中,選取作業功能角色清單中的 [部署環境使用者]。
- 在 [ 成員] 索引標籤中,選取 [ 選取成員],然後使用您先前複製的顯示名稱來搜尋服務主體。
- 選取服務主體,然後選取 [ 選取]。
- 在 [ 檢閱 + 指派] 索引標籤中,選取 [ 檢閱 + 指派 ] 以新增角色指派。
您現在可以在 Azure Pipelines 工作流程定義中使用服務連線來存取您的 ADE 環境。
將您的帳戶存取權授與 ADE 專案
若要檢視其他使用者所建立的環境,包括服務連線,您必須將ADE專案的讀取許可權授與您的帳戶。
- 在 Azure 入口網站 中,移至您的 ADE 專案。
- 選取 [訪問控制][IAM][>新增>角色指派]。
- 在 [角色] 索引標籤中,選取作業函式角色清單中的 [部署環境讀取器]。
- 在 [成員] 索引標籤中,選取 [選取成員],然後搜尋您自己的帳戶。
- 從清單中選取您的帳戶,然後選取 [ 選取]。
- 在 [ 檢閱 + 指派] 索引標籤中,選取 [ 檢閱 + 指派 ] 以新增角色指派。
您現在可以檢視 Azure Pipelines 工作流程所建立的環境。
設定管線
編輯 Azure Repos 存放庫中的 azure-pipelines.yml
檔案,以自定義管線。
在管線中,您會定義建立環境的步驟。 在此管線中,您會定義將環境建立為作業的步驟,這是一系列以單位順序執行的步驟。
若要自定義管線,您可以:
- 指定要使用的服務 連線,而管線會使用 Azure CLI 來建立環境。
- 使用內嵌腳本來執行建立環境的 Azure CLI 命令。
Azure CLI 是命令行工具,提供一組命令來使用 Azure 資源。 若要探索更多 Azure CLI 命令,請參閱 az devcenter。
在您的 Azure DevOps 專案中,選取 [存放庫>檔案]。
在 [ 檔案] 窗格中,從
.ado
資料夾選取azure-pipelines.yml
檔案。在檔案中
azure-pipelines.yml
,使用下列程式代碼編輯現有的內容:將取代
<AzureServiceConnectionName>
為您稍早建立的服務連線名稱。在 中
Inline script
,將下列每個佔位元取代為您的 Azure 環境適用的值:預留位置 值 <dev-center-name>
開發人員中心的名稱。 <project-name>
您專案的名稱。 <catalog-name>
目錄的名稱。 <environment-definition-name>
請勿變更。 定義所使用的環境定義。 <environment-type>
環境類型。 <environment-name>
指定新環境的名稱。 <parameters>
請勿變更。 參考定義環境參數的 json 檔案。
選取認可以儲存變更。
在 [ 認可變更 ] 窗格中,輸入認可訊息,然後選取 [ 認可]。
使用管線建立環境
接下來,您會執行管線來建立 ADE 環境。
- 在您的 Azure DevOps 專案中,選取 [ 管線]。
- 選取您稍早建立的管線,然後選取 [ 執行管線]。
- 您可以選取管線名稱,然後選取 [ 執行] 來檢查管線執行的進度。 選取回合以查看管線執行的詳細數據。
- 您也可以選取開發人員中心、選取專案,然後選取 [環境],以檢查 Azure 入口網站 中環境建立的進度。
您可以在持續整合 (CI) 和/或持續傳遞 (CD) 管線中的任何位置插入此作業。 開始使用 Azure Pipelines 檔 ,以深入瞭解如何建立和管理管線。
清除資源
當您完成本教學課程中建立的資源時,您可以將其刪除,以避免產生費用。
使用下列命令來移除您在本教學課程中建立的環境:
az devcenter dev environment delete --dev-center <DevCenterName> --project-name <DevCenterProjectName> --name <DeploymentEnvironmentInstanceToCreateName> --yes