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

Azure Developer CLI 与 Azure 部署环境

本文介绍 Azure Developer CLI (azd),及其如何配合 Azure 部署环境 (ADE),以简化预配应用程序基础结构并将应用程序代码部署到新基础结构的过程。

azd 是一种开源命令行工具,可提供将映射到工作流的关键阶段的开发人员友好型命令。 你可以在计算机本地安装 azd,也可以在其他环境中使用该工具。

使用 ADE,可以根据附加到开发人员中心的目录中的环境定义,或通过使用要执行部署的 ADE 扩展模型来创建环境。 通过添加 azd,可以简化预配基础结构并将代码部署到云的过程。

azd 如何与 ADE 配合使用?

azd 可与 ADE 配合使用,支持你在工作场所创建环境。

借助 ADE 和 azd,使用独特的基础结构和要上传到云的代码的各个开发人员可以从本地文件夹创建环境。 他们可以使用 azd 来预配环境并无缝部署其代码。

通过结合使用 ADE 和 azd,你可以为开发人员提供创建应用基础结构和代码的方法。 你的团队可以从兼容 azd 的同一环境定义创建多个 ADE 环境,并通过一致的方式将代码预配到云。

了解 azd 模板

Azure Developer CLI 命令旨在用于使用标准化模板。 每个模板都是遵循特定文件和文件夹约定的代码存储库。 这些模板包含 azd 预配 Azure 部署环境服务的环境所需的资产。 运行 azd up 等命令时,该工具使用模板资产执行各种工作流步骤,例如将资源预配或部署到 Azure。

下图显示了典型的模板结构:

├── infra                                        [ Contains infrastructure as code files ]
├── .azdo                                        [ Configures an Azure Pipeline ]
├── .devcontainer                                [ For DevContainer ]
├── .github                                      [ Configures a GitHub workflow ]
├── .vscode                                      [ VS Code workspace configurations ]
├── .azure                                       [ Stores Azure configurations and environment variables ]
├── src                                          [ Contains all of the deployable app source code ]
└── azure.yaml                                   [ Describes the app and type of Azure resources]

所有 azd 模板都包含以下资产:

  • 基础结构文件夹 - 此文件夹不用于配有 ADE 的 azd 它包含了 azd 模板的所有 Bicep 或 Terraform 基础结构即代码文件。 ADE 将为 azd 模板提供基础结构即代码文件。 你无需在 azd 模板中包含这些文件。

  • azure.yaml 文件 - 一个配置文件,用于定义项目中的一个或多个服务,并将其映射到 Azure 资源以进行部署。 例如,可以定义 API 服务和 Web 前端服务,每个服务都具有将其映射到不同的 Azure 资源进行部署的属性。

  • .azure 文件夹 - 包含基本的 Azure 配置和环境变量,例如部署资源的位置或其他订阅信息。

  • src 文件夹 - 包含所有可部署的应用源代码。 某些 azd 模板仅提供基础结构资产,而将 src 目录留空,以便你添加自己的应用程序代码。

大多数 azd 模板还可以选择包含以下一个或多个文件夹:

  • .devcontainer 文件夹 - 允许为应用程序设置开发容器环境。 这种通用开发环境方法并不特定于 azd

  • .github 文件夹 - 保存 GitHub Actions(这是 azd 的默认 CI/CD 提供程序)的 CI/CD 工作流文件。

  • .azdo 文件夹 - 如果决定使用 Azure Pipelines 来实现 CI/CD,请定义此文件夹中的工作流配置文件。

azd 兼容目录

Azure 部署环境的目录包含各种环境定义:IaC 模板,用于定义为部署环境预配的基础结构资源。 Azure Developer CLI 将使用附加到开发人员中心的目录中的环境定义来预配新环境。

Azure Developer CLI 适用于存储在 Azure 部署环境开发人员中心目录中的 ARM 模板。 它还通过 ADE 扩展性模型支持其他 IaC 模板,例如 Bicep 和 Terraform。 若要了解如何配置 ADE 扩展性模型,请参阅 Azure 部署环境扩展性模型

为了正确支持某些 Azure 计算服务,Azure Developer CLI 需要 IaC 模板中的更多配置设置。 例如,必须使用特定信息标记应用服务主机,以便 azd 知道如何查找主机并向其部署应用。

可在此处查看受支持的 Azure 服务的列表:支持的 Azure 计算服务(主机)

使 ADE 目录与 azd 兼容

若要使开发团队能够结合使用 azd 和 ADE,需要在目录中创建与 azd 兼容的环境定义。 你可以创建与 azd 兼容的新环境定义,也可以使用 Azure 部署环境开发人员中心目录中的现有环境定义。 如果选择使用现有环境定义,则需要进行一些更改,以使其与 azd 兼容。

更改包括:

  • 如果要修改现有 azd 模板,请移除 infra 文件夹。 ADE 将使用以下文件创建基础结构:
    • ARM 模板 (azuredeploy.json.)
    • 定义参数的配置文件(environment.yaml 或 manifest.yaml)
  • 在 azure.yaml 中使用特定信息标记资源,以便 azd 知道如何查找主机并向其部署应用

若要详细了解如何使 ADE 环境定义与 azd 兼容,请参阅使项目与 Azure Developer CLI 兼容

在 ADE 中启用 azd 支持

若要通过 ADE 启用 azd 支持,则需将 platform.type 设置为开发中心。 此配置允许 azd 使用新的开发人员中心组件来支持远程环境状态和预配,这意味着将忽略模板中的基础结构文件夹。 相反,azd 使用在开发人员中心目录中定义的基础结构模板之一进行资源预配。

若要启用 azd 支持,请运行以下命令:

 azd config set platform.type devcenter

浏览 azd 命令

启用开发人员中心功能后,某些常见 azd 命令的默认行为将会发生改变,以便在这些远程环境中正常发挥作用。 有关详细信息,请参阅使用 Azure 部署环境