Azure Developer CLI 的工作原理
Azure Developer CLI (azd
) 是围绕适用于开发人员的命令和基础应用程序模板构建的。 azd
提供了一组命令,可帮助使用标准化项目模板在 Azure 上载入和管理应用程序。 这些模板包括所有必需的源代码和配置资产,用于预配应用并将其部署到 Azure。 可以通过使用现有的可扩展示例模板之一或通过构建自己的模板来开始使用 azd
。
浏览 azd
命令
Azure 开发人员 CLI 包括一组可接近的命令,这些命令映射到常见的开发工作流阶段,例如预配和部署资源。 某些 azd
命令(如 azd up
同时处理多个阶段)以进一步简化这些任务。
例如,使用现有模板的典型 azd
工作流包括以下步骤:
使用
azd init
--template
参数运行命令以克隆现有模板,并在出现提示时设置环境名称。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 开发人员 CLI 命令旨在处理标准化项目模板。 每个模板都是遵循特定文件和文件夹约定的代码存储库。 模板包含预配 Azure 资源以及选择性地部署应用程序源代码所需的资产 azd
。 某些模板可能不包括应用程序源代码,前提是你要添加自己的代码。 运行像 azd up
这样的命令时,该工具使用项目模板资源执行多种工作流步骤,例如预配或者将资源部署到 Azure。
使用 azd
模板进行工作有两种主要方法:
扩展现有
azd
模板 - 已存在一个大型模板库azd
,用于涵盖常见的本地应用程序堆栈、方案和体系结构。 可以在 awesome-azd 模板库 网站上浏览许多模板。 如果找到映射到本地应用程序堆栈或所需体系结构的模板,则可以将其用作起点。 然后,替换源代码目录并修改配置或基础结构文件以满足你的需求。将您自己的应用程序转换为
azd
模板 - 您还可以按照“使项目与azd
兼容”指南,将现有应用转换为azd template
。 最初,创建自己的模板通常更费事,但可以实现最大的控制,并为应用的未来开发工作提供一个可重用的解决方案。 创建自己的模板的核心步骤如下:使用
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,请定义此文件夹中的工作流配置文件。