Azure开发人员 CLI (azd) 利用 templates 将应用资源预配和部署到云。 开发人员可以通过将命令和功能转换为模板来添加对 azd 命令和功能的支持。 本文提供了用于生成 azd 模板的不同选项的上下文概述。 了解本文中的概念后,请访问以下资源以获取更详细的实现指南:
注释
本文假设读者对 azd 模板具有一般性的了解。 有关模板的详细信息,请访问 模板概述 文档。
模板创建概念
创建azd模板需要将特定配置和基础设施资产添加到现有代码库中,或者基于现有模板启动一个新应用,将这些相同的资产引入其中。 后续部分将介绍这两个工作流。 所有 azd 模板都基于 azd 约定共享类似的文件结构。 下图简要概述了创建 azd 模板的过程:
每个 azd 模板都需要以下最低资源:
-
infra文件夹,用于存放基础设施即代码文件(Bicep 或 Terraform 文件)。 - 用于将应用程序服务映射到预配基础结构资源的
azure.yaml配置文件。
其他可选目录也经常包含在内,例如一个包含用于创建 CI/CD 管道资产的 .github 文件夹。 有关模板的详细信息,请访问 模板概述 文档。
请考虑以下示例应用存储库:
将此示例应用转换为模板后,同一 azd 应用存储库包含以下内容:
原始应用资源保持不变,但是新增了与 azd 相关的资产,这些资产依赖于类似 azd up 的命令。
- 添加了
infra文件夹,其中包含用于创建Azure资源的Bicep文件。 - 添加了
azure.yaml配置文件,用于将src目录中的应用代码映射到预配Azure资源。 - 创建了一个
.azure文件夹来保存azd环境变量。 - 添加了
.github文件夹(可选),以支持通过 GitHub Actions 进行的 CI/CD 流水线。
模板创建工作流
azd init 命令用于初始化azd模板,以便在Azure上预配和部署应用资源。 命令提示符在两个不同的工作流之间进行选择,以初始化以下部分中概述的模板 - 在当前目录中使用代码 并使用 现有模板。
在要转换为 azd template 的目录根目录中运行 azd init 命令。
azd init
在当前目录中使用代码
此选项指示 azd 分析目录中的代码以标识其使用的技术,例如编程语言、框架和数据库系统。
azd 自动生成模板资产,例如 azure.yaml 服务定义文件和 infra 包含基础结构即代码文件的文件夹。 生成的资产是其他修改的起点。 如果计划使用 azd 基架功能支持的常见Azure服务,请使用此方法。
请访问使用应用代码创建模板教程,详细了解如何实现此方法,以及有关哪些Azure资源支持自动检测和基架的详细信息。
选择模板
选择此选项可以使用一个现有模板,该模板将许多Azure资源和体系结构目标定义为起点。
azd 将提示你从 awesome-azd 库中选择初学者模板或其他模板。 选择模板时,该模板的资产将添加到现有项目目录,以用作起点。 某些模板包括可以替换为自己的示例应用代码,而某些模板(称为“初学者模板”)只是基础结构。
使用 azd init 命令将现有模板拉取到空目录,并将其用作你自己的应用的起点。 如果模板包含应用源代码,则可以从该代码中生成,或者将源代码目录替换为你自己的代码目录。
若要详细了解如何实现此方法,请访问 从现有模板开始 的教程。
另请参阅
请求帮助
有关如何提交 bug、请求帮助或为 Azure 开发人员 CLI 提出新功能的信息,请访问 troubleshooting and support 页。