使用 Azure Pipelines 建置和發行管線中的 DevTest 實驗室
本文提供如何在 Azure Pipelines 建置和發行管線中使用 DevTest Labs 的相關資訊。
整體流程
基本流程是要擁有建置管線以執行下列工作:
- 建置應用程式的程式碼。
- 在 DevTest Labs 中建立基礎環境。
- 使用自訂資訊來更新環境。
- 將應用程式部署到 DevTest Labs 環境
- 測試程式碼。
成功完成建置後,發行管線會使用組建成品來部署預備或生產環境。
其中一個必要前提是,組建成品內要有重新建立所測試生態系統所需的一切資訊,包括 Azure 資源的設定。 由於使用 Azure 資源時會產生成本,因此公司會想要控制或追蹤這些資源的使用情形。 在某些情況下,用來建立和設定資源的 Azure Resource Manager 範本可能會由 IT 等其他部門負責管理。 而且,這些範本可能會儲存在不同的存放庫中。 這會導致建立和測試組建時發生有趣的情況。 程式碼和設定都必須儲存在組建成品內,才能在生產環境中重新建立系統。
在建置和測試階段使用 DevTest Labs,便可以將 Azure Resource Manager 範本和支援檔案新增到組件來源。 在發行階段,您會將用於測試的確切設定部署到生產環境。 具有適當設定的建立 Azure DevTest Labs 環境工作會將 Resource Manager 範本儲存到組建成品內。 在此範例中,您會使用教學課程:在 Azure App Service 中建置 .NET Core 和 SQL Database Web 應用程式中的程式碼,在 Azure 中部署及測試 Web 應用程式。
設定 Azure 資源
您必須事先建立幾個項目:
- 兩個存放庫。 第一個存放庫包含教學課程中的程式碼,以及有兩個 VM 的 Resource Manager 範本。 第二個存放庫會包含基礎 Azure Resource Manager 範本 (現有設定)。
- 用於部署生產程式碼和設定的資源群組。
- 具有建置管線設定存放庫連線的實驗室。 使用 metadata.json 將 Resource Manager 範本簽入到設定存放庫作為 azuredeploy.json。 此名稱可讓 DevTest Labs 辨識及部署範本。
建置管線會建立 DevTest Labs 環境,並部署用於測試的程式碼。
設定建置管線
在 Azure Pipelines 中,使用教學課程:在 Azure App Service 中建置 .NET Core 和 SQL Database Web 應用程式中的程式碼來建立建置管線。 使用 ASP.NET Core 範本,以便填入用以建置、測試及發佈程式碼的必要工作。
再新增三個用來在 DevTest Labs 中建立環境的工作,並部署至環境。
建立環境工作
在 Azure DevTest Labs 建立環境工作中,使用下拉式清單來選取下列值:
- Azure 訂用帳戶
- 實驗室名稱
- 存放庫名稱
- 範本名稱 (以顯示環境儲存所在的資料夾)。
建議您使用頁面上的下拉式清單,而非手動輸入資訊。 如果手動輸入資訊,請輸入完整的 Azure 資源識別碼。 工作會顯示自訂名稱,而不是資源識別碼。
環境名稱是 DevTest Labs 中顯示的顯示名稱。 每個組建的環境名稱都應該是唯一的。 例如:TestEnv$(Build.BuildId)。
您可以指定參數檔案或參數,以將資訊傳遞給 Resource Manager 範本。
選取 [根據環境範本輸出來建立輸出變數] 選項,然後輸入參考名稱。 在此範例中,請輸入 BaseEnv 作為參考名稱。 在設定下一個工作時會用到此 BaseEnv。
填入環境工作
第二個工作 (Azure DevTest Labs 填入環境工作) 是為了更新現有的 DevTest Labs 環境。 建立環境工作會輸出 BaseEnv.environmentResourceId,以便用來設定這個工作的環境名稱。 此範例的 Resource Manager 範本有兩個參數 - adminUserName 和 adminPassword。
App Service 部署工作
第三個工作是 Azure App Service 部署工作。 應用程式類型會設定為 [Web 應用程式],App Service 名稱則會設定為 [$(WebSite)]。
設定發行管線
您可以建立具有兩個工作的發行管線:Azure 部署:建立或更新資源群組和部署 Azure App Service。
在第一個工作中,指定資源群組的名稱和位置。 範本位置是連結的成品。 如果 Resource Manager 範本包含連結的範本,則必須實作自訂的資源群組部署。 範本位於已發佈的置放成品中。 覆寫 Resource Manager 範本的範本參數。 您可以讓其餘設定保持預設值。
在第二個工作部署 Azure App Service 中,指定 Azure 訂用帳戶、針對 [應用程式類型] 選取 [Web 應用程式],然後針對 [App Service 名稱] 選取 [$(WebSite)]。 您可以讓其餘設定保持預設值。
測試執行
兩個管線都已設定完成,接下來請將建置手動排入佇列,並查看其運作情形。 下一個步驟是為建置設定適當的觸發程序,並將建置連線到發行管線。
下一步
請參閱以下文章: