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