你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 部署环境 CLI 变量参考

Azure 部署环境 (ADE) 设置与环境相关的许多变量,可以在创作自定义映像时引用这些变量。 可以在操作脚本(deploy.sh 或 delete.sh)中使用以下变量,使映像对它们与之交互的环境灵活。

对于容器中 ADE 使用的文件,所有文件都存在于 ade 初始目录的子文件夹中。

下面是可用环境变量的列表:

ADE_ERROR_LOG

引用位于 . /ade/temp/error.log. 该文件 error.log 存储任何标准错误输出,用于在部署或删除失败的结果中填充环境的错误详细信息。 该文件与该文件一起使用 ade execute,它将任何标准输出和标准错误内容记录到 ADE 管理的日志文件中。 使用 ade execute 此命令时,使用以下命令将标准错误日志记录重定向到此文件位置:

ade execute --operation $ADE_OPERATION_NAME --command "{YOUR_COMMAND}" 2> >(tee -a $ADE_ERROR_LOG)

通过使用此方法,可以在开发人员门户中查看部署或删除错误。 这会导致在创建自定义映像时更快、更成功的调试迭代,并更快地诊断失败操作的根本原因。

ADE_OUTPUTS

引用位于 . /ade/temp/output.json. 该文件 output.json 将环境部署的任何输出存储在持久性存储中,以便以后可以使用 Azure CLI 访问该文件。 将输出存储在自定义映像中时,请确保输出上传到指定文件,如以下示例所示:

echo "$deploymentOutput" > $ADE_OUTPUTS

ADE_STORAGE

指位于 . /ade/storage. 在核心映像的入口点期间,ADE 从环境的存储容器中拉取一个特别命名 storage.zip 的文件并填充此目录,然后在操作完成后,将目录重新加载为 zip 文件回到存储容器。 如果具有希望在后续重新部署时在自定义映像中引用的文件,例如状态文件,请将这些文件放置在此目录中。

ADE_CLIENT_ID

指环境的项目环境类型的托管服务标识(MSI)的对象 ID。 此变量可用于向 Azure CLI 验证,以获取在容器中利用的权限,例如基础结构的部署。

ADE_TENANT_ID

指环境的租户 GUID。

ADE_SUBSCRIPTION_ID

指环境的订阅 GUID。

ADE_TEMPLATE_FILE

指环境定义中“templatePath”属性中指定的主模板文件位于容器内的位置。 此路径大致镜像目录的源代码管理,具体取决于在其中连接目录的文件路径级别。 该文件大致位于 /ade/repository/{CATALOG_NAME}/{PATH_TO_TEMPLATE_FILE}. 此方法主要用于在主部署步骤中用作引用以部署为基础的文件。

下面是使用 Azure CLI 的示例:

az deployment group create --subscription $ADE_SUBSCRIPTION_ID \
    --resource-group "$ADE_RESOURCE_GROUP_NAME" \
    --name "$deploymentName" \
    --no-prompt true --no-wait \
    --template-file "$ADE_TEMPLATE_FILE" \
    --parameters "$deploymentParameters" \
    --only-show-errors

任何进一步的文件(如支持要用于自定义映像的 IaC 文件或文件)都存储在容器内的模板文件的相对位置,因为它们位于目录中。 例如,使用以下目录:

├───SampleCatalog
   ├───EnvironmentDefinition1
      │   file1.bicep
      │   main.bicep
      │   environment.yaml
      │
      └───TestFolder
              test1.txt
              test2.txt

在本例中为 $ADE_TEMPLATE_FILE=/ade/repository/SampleCatalog/EnvironmentDefinition1/main.bicep。 此外,file1.bicep 等文件将位于容器中 /ade/repository/SampleCatalog/EnvironmentDefinition1/file1.bicep,test2.txt位于 /ade/repository/SampleCatalog/EnvironmentDefinition1/TestFolder/test2.txt

ADE_ENVIRONMENT_NAME

部署时提供的环境的名称。

ADE_ENVIRONMENT_LOCATION

正在部署环境的位置。 此位置是项目的区域。

ADE_RESOURCE_GROUP_NAME

由 ADE 创建的资源组的名称,用于将资源部署到其中。

ADE_ENVIRONMENT_TYPE

用于部署此环境的项目环境类型的名称。

ADE_OPERATION_PARAMETERS

为部署环境而提供的参数的 JSON 对象。 参数对象的示例如下:

{
    "location": "locationInput",
    "name": "nameInput",
    "sampleObject": {
        "sampleProperty": "sampleValue"
    },
    "sampleArray": [
        "sampleArrayValue1",
        "sampleArrayValue2"
    ]
}

ADE_OPERATION_NAME

在环境中执行的操作类型。 目前,此值为“deploy”或“delete”。

ADE_HTTP__OPERATIONID

分配给在环境中执行的操作的操作 ID。 操作 ID 用作验证以使用 ADE CLI,是从过去操作检索日志的主要标识符。

ADE_HTTP__DEVCENTERID

环境的开发人员中心 ID。 开发人员中心 ID 还用作使用 ADE CLI 的验证。