Share via


新增和設定環境定義

本文說明如何在 Azure 部署環境目錄中新增、更新或刪除環境定義。 它也說明如何參考容器映像來部署環境。

在 Azure 部署環境中,您可以使用 目錄 ,為您的開發小組提供一組經過策劃的 預先定義基礎結構即程式代碼(IaC) 範本,稱為 環境定義

環境定義是由至少兩個檔案所組成:

  • 來自 IaC 架構的範本。 例如:
    • Azure Resource Manager (ARM) 範本可能會使用稱為 azuredeploy.json 的檔案。
    • Bicep 範本可能會使用名為 main.bicep 的檔案。
    • Terraform 範本可能會使用名為 azuredeploy.tf 的檔案。
  • 提供範本相關元數據的組態檔。 此檔案應命名為 environment.yaml

您的開發小組會使用您在目錄中提供的環境定義,在 Azure 中部署環境。

Microsoft 提供 可用來作為存放庫的範例目錄 。 您也可以使用自己的私人存放庫,也可以派生並自定義範例目錄中的環境定義。

將目錄新增至開發人員中心之後,服務會掃描指定的資料夾路徑,以識別包含範本和相關聯環境檔案的資料夾。 指定的資料夾路徑應該是包含儲存環境定義檔案之子資料夾的資料夾。

新增環境定義

若要將環境定義新增至 Azure 部署環境 (ADE) 中的目錄,請先將檔案新增至存放庫。 接著,您會將開發人員中心目錄與更新的存放庫同步處理。

若要新增環境定義:

  1. 在您的 GitHubAzure DevOps 存放庫中,於存放庫資料夾路徑中建立子資料夾。

  2. 將兩個檔案新增至新的存放庫子資料夾:

    • IaC 範本檔案。

    • 作為 YAML 檔案的環境。

      environment.yaml 檔案包含與 IaC 範本相關的元數據。

      下列腳本是 ARM 範本 environment.yaml 檔案內容的範例:

          name: WebApp
          version: 1.0.0
          summary: Azure Web App Environment
          description: Deploys a web app in Azure without a datastore
          runner: ARM
          templatePath: azuredeploy.json
      

      使用下表瞭解 environment.yaml 檔案中的欄位:

      欄位 描述
      NAME 環境定義的名稱。
      version 環境定義的版本。 這是選用欄位。
      摘要 環境定義的簡短描述。
      description 環境定義的詳細描述。
      轉輪 範本所使用的 IaC 架構。 值可以為 ARMBicep。 您也可以指定儲存在容器登錄中的範本路徑。
      templatePath IaC 樣本檔案的路徑。

      若要深入瞭解您可以在 environment.yaml 中使用的選項和數據類型,請參閱 environment.yaml 中的參數和數據類型。

  3. 在您的開發人員中心,移至 [目錄],選取存放庫,然後選取 [同步]。

    顯示如何同步處理目錄的螢幕快照。

服務會掃描存放庫以尋找新的環境定義。 同步處理存放庫之後,開發人員中心中的所有專案都可以使用新的環境定義。

使用容器映像來部署環境

ADE 會使用容器映像來定義部署環境的範本。 ADE 原生支援 ARM 和 Bicep,因此您可以將範本檔案 (azuredeploy.json 和 environment.yaml) 新增至目錄,以設定環境定義來部署部署環境的 Azure 資源。 ADE 接著會使用標準 ARM 或 Bicep 容器映像來建立部署環境。

您可以為更進階的環境部署建立自訂容器映像。 例如,您可以在部署前後執行腳本。 ADE 支援環境部署的自定義容器映像,可協助部署 Pulumi 和 Terraform 等 IaC 架構。

ADE 小組提供可透過 Microsoft 成品登錄 存取的範例 ARM 和 Bicep 容器映像,以協助您開始使用。

如需建置自定義容器映像的詳細資訊,請參閱:

指定 ARM 或 Bicep 範例容器映像

在 environment.yaml 檔案中,執行器屬性會指定您想要使用的影像位置。 若要使用 Microsoft 成品登錄 上發佈的範例映像,請使用下表所列的個別標識符執行器。

IaC 架構 執行器值
ARM ARM
Bicep Bicep
Terraform 沒有範例影像。 請改用自定義容器映像。

下列範例顯示參考範例 Bicep 容器映像的執行器:

    name: WebApp
    version: 1.0.0
    summary: Azure Web App Environment
    description: Deploys a web app in Azure without a datastore
    runner: Bicep
    templatePath: azuredeploy.json

指定自訂容器映像

若要使用儲存在存放庫中的自定義容器映像,請在 environment.yaml 檔案中使用下列執行器格式:

runner: "{YOUR_REGISTRY}.azurecr.io/{YOUR_REPOSITORY}:{YOUR_TAG}”`

編輯執行器值以參考您的存放庫和自訂映像,如下列範例所示:

    name: WebApp
    version: 1.0.0
    summary: Azure Web App Environment
    description: Deploys a web app in Azure without a datastore
    runner: "{YOUR_REGISTRY}.azurecr.io/{YOUR_REPOSITORY}:{YOUR_TAG}"
    templatePath: azuredeploy.json
屬性 說明
YOUR_REGISTRY 儲存自定義映像的登錄。
YOUR_REPOSITORY 該登錄上的存放庫。
YOUR_TAG 標記,例如版本號碼。

指定環境定義的參數

您可以指定環境定義的參數,讓開發人員自定義其環境。

參數定義於 environment.yaml 檔案中

下列腳本是 ARM 範本的 environment.yaml 檔案範例,其中包含兩個參數; locationname

name: WebApp
summary: Azure Web App Environment
description: Deploys a web app in Azure without a datastore
runner: ARM
templatePath: azuredeploy.json
parameters:
- id: "location"
  name: "location"
  description: "Location to deploy the environment resources"
  default: "[resourceGroup().location]"
  type: "string"
  required: false
- id: "name"
  name: "name"
  description: "Name of the Web App "
  default: ""
  type: "string"
  required: false

若要深入瞭解您可以在 environment.yaml 中使用的參數及其數據類型,請參閱 environment.yaml 中的參數和數據類型。

開發人員可以透過 開發人員入口網站為其環境提供特定參數的值。

顯示 [參數] 窗格之開發人員入口網站的螢幕快照。

開發人員也可以透過 CLI 為其環境提供特定參數的值。

az devcenter dev environment create --environment-definition-name
                                    --catalog-name
                                    --dev-center
                                    --environment-name
                                    --environment-type
                                    --project
                                    [--description]
                                    [--no-wait]
                                    [--parameters]
                                    [--tags]
                                    [--user]
                                    [--user-id]

若要深入瞭解 az devcenter dev environment create 命令,請參閱 Azure CLI devcenter 擴充功能

更新環境定義

若要修改 Azure 部署環境中現有環境定義中的 Azure 資源組態,請更新存放庫中的相關聯範本檔案。 當您使用特定環境定義建立新環境時,會立即反映變更。 當您重新部署與該環境定義相關聯的環境時,也會套用更新。

若要更新與範本相關的任何元數據,請修改 environment.yaml,然後 更新目錄

刪除環境定義

若要刪除現有的環境定義,請在存放庫中刪除包含範本檔案和相關聯環境 YAML 檔案的子資料夾。 然後, 更新目錄

刪除環境定義之後,開發小組就無法再使用特定的環境定義來部署新的環境。 針對任何使用已刪除環境定義的現有環境更新環境定義參考。 如果未更新參考並重新部署環境,則部署會失敗。