Azure Developer CLI 模板概述
Azure Developer CLI (azd
) 模板是标准代码存储库,其中包括示例应用程序代码以及 azd
配置和基础结构文件。 通过 azd
模板可以预配 Azure 资源、部署应用程序、配置 CI/CD 管道等。 可以创建自己的模板,也可以从模板存储库(例如 Awesome AZD)开始使用现有模板。 在本文中,你将了解以下概念:
azd
模板如何让你预配和部署应用资源azd
模板的结构方式- 如何确定是使用现有模板还是创建模板
- 浏览现有
azd
初学者模板
为何使用 Azure Developer CLI 模板?
开发人员在为云构建适当架构和配置的环境应用时,经常面临许多耗时且具有挑战性的任务。 在这些环境中,团队必须考虑许多不同的问题,例如创建资源、应用配置、设置监视和日志记录、生成 CI/CD 管道以及其他任务。 azd
模板减少并简化了这些责任,以帮助开发人员从本地开发到在 Azure 上成功部署应用。
例如,假设你在一家运营票务管理和客户沟通平台的公司工作,该平台需要以下 Azure 资源:
- 两个应用程序服务实例和一个应用服务计划用于托管前端 Web 应用和后端 API
- 用于存储安全应用机密的密钥保管库实例
- 用于永久存储应用数据的 Cosmos DB 数据库
- Azure Monitor 资源,例如 Application Insights 仪表板
- 用于管理可缩放消息传送的服务总线
- 用于确保通过自动化、可重复过程可以可靠地部署更改的 CI/CD 管道。
借助 azd
,你可以利用现有的体系结构模板来预配和部署大部分资源,而不是从头开始。 然后,开发团队可以专注于生成应用,对模板体系结构进行较小的调整。
Azure Developer CLI 模板的工作原理
Azure Developer CLI 模板设计为使用 azd
命令,如 azd init
和 azd up
。 这些模板包括配置和基础结构即代码 (IaC) 文件,命令使用这些文件来执行诸如预配 Azure 资源和将应用代码部署到这些资源等任务。
例如,使用现有模板的典型 azd
工作流包括以下步骤:
使用
--template
参数运行azd init
命令,从 GitHub 克隆现有模板。azd init --template todo-nodejs-mongo
运行
azd auth login
命令对 Azure 订阅进行身份验证。azd auth login
运行
azd up
命令以预配模板资源并将其部署到 Azure。azd up
命令利用模板中的配置和基础结构即代码 (IaC) 文件来预配 Azure 资源并将应用程序部署到这些资源。azd up
在 Azure 中设置环境后,可以在本地修改应用程序功能或 Azure 资源模板,然后再次运行
azd up
来预配更改。
了解 Azure Developer CLI 模板结构
所有 azd
模板都共享基于 azd
约定的类似文件结构。 所需的最低资产通常包括以下内容:
infra
文件夹 - 包含azd
模板的所有 Bicep 或 Terraform 基础结构即代码文件。azd
执行这些文件,以创建托管应用所需的 Azure 资源。azure.yaml
文件 - 一个配置文件,用于定义项目中的一个或多个服务,并将其映射到infra
文件夹中定义的 Azure 资源以进行部署。 例如,可以定义 API 服务和 Web 前端服务,并将每个服务都映射到不同的 Azure 资源以进行部署。.azure
文件夹 - 包含基本的 Azure 配置和环境变量,例如部署资源的位置或其他订阅信息。src
文件夹 - 包含所有可部署的应用源代码。 某些azd
模板不包括src
文件夹,仅提供基础结构资产,以便你可以添加自己的应用程序代码。注意
不包括
src
文件夹的模板通常设计为基础结构初学者模板。
azd
模板还可以选择包含以下一个或多个文件夹:
.github
文件夹 - 保留 GitHub Actions 的 CI/CD 工作流文件,这是 azd 的默认 CI/CD 提供程序。.azdo
文件夹 - 如果决定使用 Azure Pipelines 进行 CI/CD,可以在此文件夹中定义工作流配置文件。.devcontainer
文件夹 - 允许为应用程序设置开发容器 环境。
例如,通用 azd
模板可能与以下文件夹结构匹配:
从现有模板开始,或创建自己的模板
使用 azd
模板有两种主要方法:
- 从现有
azd
模板开始。- 如果你刚开始使用
azd
,或者正在寻找一个模板来构建具有类似体系结构和框架的新应用,则这是一个不错的选择。
- 如果你刚开始使用
- 将现有项目转换为
azd
模板。- 当你已有一个现有应用,但你想要使其与
azd
功能兼容时,这是一个不错的选择。
- 当你已有一个现有应用,但你想要使其与
以下部分提供有关这两个选项的详细信息。
从现有模板开始
awesome-azd 模板库中提供了广泛的 azd
模板选择。 这些模板为各种开发方案、语言框架和 Azure 服务提供基础结构和应用程序代码。 如果找到了一个与本地应用程序堆栈或所需体系结构一致的模板,则可以扩展模板代码并用自己的代码替换
例如,以下 azd
模板为常见的应用体系结构和框架提供了起点:
为应用创建新 azd
模板
还可以将现有应用转换为 azd
模板,以使用预配和部署功能增强存储库。 这种方法允许最大程度的控制,并为应用的未来开发工作提供可重用的解决方案。 创建自己的模板的高级步骤如下:
- 使用
azd init
初始化项目模板。 - 在
infra
文件夹中创建 Bicep 或 Terraform 基础结构即代码文件。 - 更新
azure.yaml
文件以将应用服务与 Azure 资源绑定在一起。 - 使用
azd up
进行预配和部署。
以下资源提供有关创建你自己的模板的详细信息:
使用 azd
模板的指南
请注意,与 Azure Developer CLI 一起使用的每个模板都由其各自的所有者(可能是也可能不是Microsoft)根据模板随附的协议获得许可。 决定何种许可证适用于你选择使用的任何模板是你的责任。
Microsoft 不对任何非 Microsoft 模板负责,也不会出于安全、隐私性、兼容性或性能问题对这些模板进行筛选。 你在 Azure Developer CLI 中使用的模板(包括 Microsoft 提供的模板)不受任何 Microsoft 支持计划或服务的支持。 Microsoft 提供的任何模板均按原样提供,不提供任何形式的保证。