Azure Developer CLI 的工作原理
Azure Developer CLI (azd
) 是围绕适用于开发人员的命令和基础应用程序模板构建的。 azd
提供了一组命令,这些命令可帮助使用标准化项目模板在 Azure 上加入和管理应用程序。 这些模板包括预配应用并将其部署到 Azure 所需的所有源代码和配置资产。 可以通过使用现有的可扩展示例模板之一或通过构建自己的模板来开始使用 azd
。
浏览 azd
命令
Azure Developer CLI 包括一组易于理解的命令,这些命令映射到常见的开发工作流阶段,例如预配和部署资源。 某些 azd
命令(如 azd up
)也会一次性处理多个阶段,以进一步简化这些任务。
例如,使用现有模板的典型 azd
工作流包括以下步骤:
使用
--template
参数运行azd init
命令以克隆现有模板,并在出现提示时设置环境名称。azd init --template todo-nodejs-mongo
运行
azd auth login
命令以登录到 Azure 订阅。azd auth login
运行
azd up
命令以预配模板资源并将其部署到 Azure。azd up
在 Azure 中设置环境后,可以在本地修改应用程序功能或 Azure 资源模板,然后再次运行
azd up
来预配更改。
其他 azd
命令可用于完成其他任务并扩展此工作流。 azd
设计为具有极少数量的命令,其中包含少量的参数,以便于使用。 最常用的一些 azd
命令包括:
- azd init - 初始化新应用程序。
- azd up - 使用单个命令预配 Azure 资源并部署项目。
- azd provision - 为应用程序预配 Azure 资源。
- azd deploy - 将应用程序代码部署到 Azure。
- azd pipeline -(Beta 版本)管理和配置部署管道。
- azd auth - 使用 Azure 进行身份验证。
- azd config - 管理 azd 配置(例如默认 Azure 订阅、位置)。
- azd down - 删除应用程序的 Azure 资源。
浏览 azd
模板
Azure Developer CLI 命令旨在与标准化项目模板配合使用。 每个模板都是遵循特定文件和文件夹约定的代码存储库。 模板包含 azd
预配 Azure 资源和(可选)部署应用程序源代码所需的资产。 某些模板可能未包含应用程序源代码,假定你将添加自己的源代码。 运行 azd up
等命令时,该工具使用项目模板资产来执行各种工作流步骤,例如预配资源或将资源部署到 Azure。
使用 azd
模板有两种主要方法:
扩展现有
azd
模板 - 已存在大型azd
模板库,用于涵盖常见本地应用程序堆栈、方案和体系结构。 可以在出色的 AZD 模板库站点上浏览许多模板。 如果你发现了映射到你的本地应用程序堆栈或所需体系结构的模板,则可以将其用作起点。 然后,替换源代码目录并修改配置或基础结构文件以满足你的需求。将你自己的应用转换为
azd
模板 - 还可以将现有应用转换为azd template
,方法是遵循使项目与azd
兼容指南。 最初创建自己的模板通常需要做更多的工作,但可实现最多的控制,并可为应用的未来开发工作生成可重用的解决方案。 创建自己的模板的核心步骤如下:使用
azd init
初始化项目模板。使用 Bicep 或 Terraform 创建基础结构即代码文件。
更新
azure.yaml
文件以将应用服务与 Azure 资源绑定在一起。使用
azd up
进行预配和部署。
无论选择哪种方法,生成的模板结构都是相同的。 所有 azd
模板都包含以下资产:
infra
文件夹 - 包含azd
模板的所有 Bicep 或 Terraform 基础结构即代码文件。 基础结构即代码支持在声明性定义文件中定义基础结构资源和配置,这些资源和配置在每次部署时都可靠地生成相同的环境。 Terraform 可跨多个云平台工作,而 Bicep 针对 Azure。azd
执行这些文件,以创建托管应用所需的 Azure 资源。 可以在什么是基础结构即代码?培训模块中详细了解基础结构即代码。azure.yaml
文件 - 一个配置文件,用于定义项目中的一个或多个服务,并将其映射到 Azure 资源进行部署。 例如,可以定义 API 服务和 Web 前端服务,每个服务都具有将其映射到不同的 Azure 资源进行部署的属性。.azure
文件夹 - 包含基本的 Azure 配置和环境变量,例如部署资源的位置或其他订阅信息。src folder
- 包含所有可部署的应用源代码。 某些azd
模板仅提供基础结构资产,并将src
目录留空,以便你添加自己的应用程序代码。
大多数 azd
模板还可以选择包含以下一个或多个文件夹:
.devcontainer
文件夹 - 允许为应用程序设置开发容器环境。 一种不特定于azd
的通用开发环境方法。.github
文件夹 - 用来存储 GitHub Actions 的 CI/CD 工作流文件,这是azd
的默认 CI/CD 提供程序。.azdo
文件夹 - 如果决定使用 Azure Pipelines 进行 CI/CD,可以在此文件夹中定义工作流配置文件。