你当前正在访问 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 模板都包含以下资产:

  • infra 文件夹:在 azd 中,infra 文件夹不会与 ADE 一起使用。 其包含 azd 模板的所有 Bicep 或 Terraform 基础结构即代码文件。 ADE 将为 azd 模板提供基础结构即代码文件。 你无需在 azd 模板中包含这些文件。

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

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

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

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

  • .devcontainer 文件夹:允许为应用程序设置开发容器环境。 这种常见的开发环境方法并非专用于 azd

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

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

azd 兼容目录

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

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

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

有关服务列表,请参阅 Azure 支持的计算服务(主机)

使 ADE 目录与 azd 兼容

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

更改包括:

  • 如果要修改现有 azd 模板,请移除 infra 文件夹。 ADE 使用以下文件创建基础结构:

    • ARM 模板(azuredeploy.json
    • 定义参数的配置文件(environment.yamlmanifest.yaml
  • 在 azure.yaml 中使用特定信息标记资源,以便 知道如何查找主机并向其部署应用azd

有关详细信息,请参阅 使你的项目与 Azure Developer CLI 兼容

在 ADE 中启用 azd 支持

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

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

azd config set platform.type devcenter

浏览 azd 命令

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