Azure 开发人员 CLI 模板概述

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 initazd up。 这些模板包括命令用来执行任务(例如预配 Azure 资源并将应用代码部署到它们)的配置和基础结构即代码(IaC)文件。

例如,使用现有模板的典型 azd 工作流包括以下步骤:

  1. 使用azd init--template参数运行命令,从 GitHub 克隆现有模板。

    azd init --template todo-nodejs-mongo
    
  2. azd auth login运行命令以向 Azure 订阅进行身份验证。

    azd auth login
    
  3. 运行 azd up 命令以预配模板资源并将其部署到 Azure。 该 azd up 命令利用模板中的配置和基础结构即代码 (IaC) 文件来预配 Azure 资源并将应用程序部署到这些资源。

    azd up
    
  4. 在 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 模板可能与以下文件夹结构匹配:

显示 Azure 开发人员 CLI 模板结构的屏幕截图。

azd 模板还可以选择包含以下一个或多个文件夹:

  • .github 文件夹 - 保存 GitHub Actions 的 CI/CD 工作流文件,这是 azd 的默认 CI/CD 提供程序。
  • .azdo 文件夹 - 如果决定将 Azure Pipelines 用于 CI/CD,请定义此文件夹中的工作流配置文件。
  • .devcontainer 文件夹 - 允许为应用程序设置 开发容器 环境。

从现有模板开始,或创建自己的模板

使用 azd 模板进行工作有两种主要方法:

  • 从现有 azd 模板开始。
    • 如果你刚开始使用 azd ,或者正在寻找一个模板来构建具有类似体系结构和框架的新应用,则这是一个不错的选择。
  • 将现有项目转换为 azd 模板。
    • 当你已有一个现有应用,但你想要使其与 azd 功能兼容时,这是一个不错的选择。

以下部分提供有关这两个选项的详细信息。

从现有模板开始

azdawesome-azd 模板库中,你可以找到广泛的模板选择。 这些模板为各种开发方案、语言框架和 Azure 服务提供基础结构和应用程序代码。 如果找到符合本地应用程序堆栈或所需体系结构的模板,则可以扩展模板代码并将其替换为你自己的模板代码

例如,以下 azd 模板提供常见应用体系结构和框架的起点:

模板 应用主机 技术堆栈
在 Azure 上使用 C# API 和 MongoDB 的 React Web 应用 Azure 应用程序服务 Azure Cosmos DB for NoSQL、Bicep
在 Azure 上使用 C# API 和 SQL 数据库做出 React Web 应用 Azure 应用程序服务 Azure SQL 数据库,Bicep
在 Azure 上使用 C# API 和 SQL 数据库的静态 React Web 应用程序和函数 Azure 静态 Web 应用Azure Functions Azure SQL 数据库,Bicep

为应用创建新 azd 模板

还可以将现有应用转换为 azd 模板,以使用预配和部署功能增强存储库。 此方法允许大多数控制并生成可重用的解决方案,以便将来在应用上进行开发工作。 创建自己的模板的高级步骤如下所示:

  • 使用 azd init 初始化项目模板。
  • infra 文件夹中创建 Bicep 或 Terraform 基础结构即代码文件。
  • azure.yaml更新文件以将应用服务与 Azure 资源绑定。
  • 使用 azd up 进行预配和部署。

以下资源提供有关创建自己的模板的详细信息:

使用 azd 模板指南

请注意,与 Azure 开发人员 CLI 一起使用的每个模板都由其各自的所有者(可能或可能不是Microsoft)根据模板随附的协议获得许可。 确定适用于你选择使用的任何模板的许可证是你的责任。

Microsoft不负责任何非Microsoft模板,并且不筛选这些模板的安全、隐私、兼容性或性能问题。 任何Microsoft支持计划或服务都不支持与 Azure 开发人员 CLI 一起使用的模板,包括从Microsoft提供的模板。 提供的任何Microsoft模板均按原样提供,没有任何保证。

后续步骤