对 Azure 部署环境的 Azure 开发人员 CLI 支持
Azure 开发人员 CLI (azd) 支持 Azure 部署环境。 Azure 部署环境(ADE)是预定义订阅中部署的 Azure 资源的预配置集合。 Azure 治理基于环境类型(例如沙盒、测试、过渡或生产)应用于这些订阅。 使用 Azure 部署环境,可以强制实施企业安全策略,并提供一组精选的预定义基础结构即代码(IaC)模板。
先决条件
验证是否已完成以下先决条件,以使用 azd
使用 Azure 部署环境:
本地 安装
azd
或通过 Cloud Shell 访问azd
在开发人员中心级别和项目级别
配置的环境类型 确保开发人员在项目中具有部署环境用户角色
提示
了解有关 Azure 部署环境的关键概念 对于通过
azd
使用环境至关重要。
启用 Azure 部署环境支持
可以使用标准命令(如 azd up
或 azd provision
)将 azd
配置为将资源预配和部署到部署环境。 若要启用对 Azure 部署环境的支持,请运行以下命令:
azd config set platform.type devcenter
platform.type
设置为 devcenter
时,所有 azd
远程环境状态和预配都将利用新的开发人员中心组件。 此配置还意味着将有效地忽略本地模板中的 infra
文件夹。 相反,azd
将使用开发人员中心目录中定义的基础结构模板之一进行资源预配。
还可以通过以下命令禁用开发人员中心支持:
azd config unset platform
使用 Azure 部署环境
启用开发人员中心功能后,某些常见 azd
命令的默认行为会更改以使用这些远程环境。 开发人员中心功能扩展了标准 azd
远程环境支持提供的功能。
azd init
开发人员中心模式下的 azd init
命令体验显示所有 azd 兼容的 ADE 模板,以便从配置的目录中进行选择。 在初始化过程中,在 azd
克隆模板代码后,azure.yaml
文件将自动更新为包含基于所选模板的所选配置的 platform
部分。 配置包括开发人员中心名称、目录和环境定义。
azd init
azd up
azd up
命令将打包、预配应用程序并将其部署到 Azure 部署环境。 但是,azd up
命令的预配阶段将使用远程开发人员中心中特选的基础结构即代码模板,而部署阶段将在 azd
模板中部署源代码。 启用开发人员中心模式时,azd
将忽略本地 azd
模板中的 infra
文件夹,并且仅使用开发人员中心模板预配资源。 该命令还会提示输入任何必要的值,例如 Azure 部署环境项目或环境类型。
azd up
azd template list
azd template list
命令将在开发人员中心目录中显示可用的基础结构模板,而不是显示默认 AZD Awesome 库中的模板。
目录 提供开发团队可用于创建环境的一组特选和批准的基础结构即代码模板。
azd template list
azd provision
azd provision
命令将创建新的开发人员中心环境。 该命令将提示你输入任何缺失值,例如环境类型或项目。 命令运行时,它将使用关联的基础结构模板为该环境预配正确的 Azure 资源集。 启用开发人员中心模式时,azd
将忽略本地 azd
模板中的 infra
文件夹,并且仅使用开发人员中心模板预配资源。
azd provision
azd env list
azd env list
命令将显示你在开发人员门户中看到的相同环境列表。
azd env list
为 Azure 部署环境标记资源
azure 部署环境的 azd
预配依赖于开发人员中心目录中的特选模板。 目录中的模板可以为预配的 Azure 资源分配标记,以便将应用服务与 azure.yaml
文件中相关联。 如果模板未分配标记,可通过以下两种方式之一解决此问题:
请与开发人员中心目录管理员协作,确保预配的 Azure 资源包括标记,以将它们与
azure.yaml
文件中定义的服务相关联。在
azure.yaml
文件中指定resourceName
,而不是使用标记:services: api: project: ./src/api host: containerapp language: js resourceName: sample-api-containerapp web: project: ./src/web host: containerapp language: js resourceName: sample-web-containerapp
配置开发人员中心设置
可以在多个位置为开发人员中心定义 azd
设置。 设置从这些位置合并,以按以下优先级顺序创建最终的配置集:
- 环境变量
- Azd 环境配置
- 项目配置
- 用户配置
azd
会自动提示你输入这些源中缺少的任何配置值。 以下各节详细介绍了这些配置选项。
环境变量
azd
将发现和使用以下环境变量:
- AZURE_DEVCENTER_NAME
- AZURE_DEVCENTER_PROJECT
- AZURE_DEVCENTER_CATALOG
- AZURE_DEVCENTER_ENVIRONMENT_DEFINITION
- AZURE_DEVCENTER_ENVIRONMENT_TYPE
- AZURE_DEVCENTER_ENVIRONMENT_USER
定义配置
在 .azure/<env>/config.json
文件中 azd
环境范围内定义开发人员中心的配置:
{
"platform": {
"config": {
"catalog": "SampleCatalog",
"environmentDefinition": "Todo",
"environmentType": "Dev",
"name": "sample-devcenter",
"Project": "SampleProject"
}
}
}
项目范围
在 azure.yaml
文件的 platform
节点的 azd
项目范围内定义开发人员中心的配置:
name: todo-nodejs-mongo-aca
metadata:
template: todo-nodejs-mongo-aca@0.0.1-beta
platform:
type: devcenter
config:
catalog: SampleCatalog
environmentDefinition: Todo
name: sample-devcenter
project: SampleProject
services:
api:
project: ./src/api
host: containerapp
language: js
web:
project: ./src/web
host: containerapp
language: js
用户范围
在 ~/<user_profile>/.azd/config.json
文件中的用户范围内定义开发人员中心的配置:
{
"platform": {
"config": {
"catalog": "SampleCatalog",
"environmentDefinition": "Todo",
"environmentType": "Dev",
"name": "sample-devcenter",
"Project": "SampleProject"
}
}
}