浏览 Azure 开发人员 CLI 初始化工作流

Azure 开发人员 CLI (azd) 提供了一组命令,用于简化在 Azure 上开发、预配和部署应用。 该 azd init 命令帮助您生成用于和 azd一起工作的文件和配置,从而设置新的或现有的项目。 本文介绍可用的不同初始化工作流,以及如何为开发方案选择最佳选项。

初始化工作流

azd init 命令支持多个工作流,以准备您的应用与 azd 配合工作:

  • 使用 GitHub Copilot (预览)设置:启动一个专用Copilot 智能体会话,该会话可以规划项目、生成模板资产并验证结果。
  • 扫描当前目录:分析现有应用代码库以生成适当的 azd 配置文件和资源。
  • 选择模板:克隆azd模板并从模板库初始化模板。
  • 创建最小项目:将基本 azure.yaml 文件初始化为从头开始构建自己的 azd 模板的起点。

进行模板开发时,请使用使用 GitHub Copilot 设置(预览版)。 有关完整创作生命周期的概述,请参阅 模板开发概述。 以下各节介绍每个初始化工作流。

使用 GitHub Copilot(预览版)进行设置

使用此工作流通过 AI 帮助生成模板。 azd启动专用 GitHub Copilot 智能体会话,该会话可以检查现有项目文件或帮助你规划新项目。 智能体会生成标准azd资产,例如azure.yaml、Bicep 或 Terraform 文件以及容器配置,然后验证结果。

代理会话在终端中运行,不会继续在 Visual Studio Code 中处于活动状态的 GitHub Copilot 对话助手 会话。 有关前提条件和详细说明,请参阅 从新模板开始。

扫描当前目录

如果已有应用代码库,并且想要准备它以便使用 azdAzure 进行部署,请使用此工作流。

  1. 导航到项目的根目录。

  2. 运行 azd init 命令。

    azd init
    
  3. 选择“ 扫描当前目录”。 azd 将会有:

    • 扫描目录以确定应用使用的语言或框架。
    • 选择适当的托管平台,例如 Azure 容器应用。
    • 提示您根据需要添加或删除已发现的服务。
    ? How do you want to initialize your app? Scan current directory
    
      (✓) Done: Scanning app code in current directory
    
    Detected services:
    
      .NET
      Detected in: src
    
    azd will generate the files necessary to host your app on Azure using Azure Container Apps.
    
    ? Select an option  [Use arrows to move, type to filter]
    > Confirm and continue initializing my app
      Remove a detected service
      Add an undetected service
    
  4. 选择 “确认并继续初始化应用 ”以完成工作流。 azd 在应用目录中创建以下内容:

    • 一个 azure.yaml 文件,用于定义你的应用服务并将其映射到托管资源。
    • 用于保存配置设置(例如环境名称)的 .azure 文件夹。
    • 一个 .gitignore 文件,已针对你的应用语言和托管平台进行配置。
  5. (可选)运行 azd up 以创建 Azure 容器应用资源并部署应用。

应用现在构建为模板 azd ,可以继续使用更多 Azure 资源和服务进行开发和扩展。

选择模板

通过此工作流,可以从预生成 azd 模板开始,该模板通常包括应用程序代码和必要的 Azure 基础结构定义。

  1. 运行 azd init 命令:

    azd init
    

    注释

    还可以使用azd init参数运行--template,以按名称直接初始化模板,并跳过工作流选择。

  2. 选择模板。 azd 显示已配置的模板源中的可用模板列表。

    ? How do you want to initialize your app? Select a template
    ? Select a project template:  [Use arrows to move, type to filter]
    > Deploy Phoenix to Azure
      (Arize-ai/phoenix-on-azure)
    
      API Center Reference Sample
      (Azure-Samples/APICenter-Reference)
    
      Event Driven Java Application with Azure Service Bus on Azure Spring Apps
      (Azure-Samples/ASA-Samples-Event-Driven-Application)
    
      Static React Web App with Java API and PostgreSQL
      (Azure-Samples/ASA-Samples-Web-Application)
    
  3. 键入以筛选结果并搜索 Hello AZD 模板。 选择要克隆的模板并对其进行初始化。

  4. (可选)运行 azd up 以预配模板资源并将其部署到 Azure。

还可以使用初始化的模板作为进一步开发的起点。

创建最小项目

对于想要从最少的设置开始并手动自定义所有内容的高级用户,此选项仅提供基本配置。

  1. 运行命令azd init并使用--minimal标志:

    azd init --minimal
    
  2. 出现提示时,输入模板的名称 azd ,然后选择 Enter。

    ? How do you want to initialize your app? Create a minimal project
    ? What is the name of your project? (empty) hello-azd
    ? What is the name of your project? hello-azd
    
    SUCCESS: Generated azure.yaml project file.
    

    该 --minimal 标志仅创建以下内容:

    • 具有项目名称的基本 azure.yaml 文件
    • .azure环境配置的目录
    • 一个 .gitignore 文件,其中包含适用于 Azure 开发人员 CLI 的相应条目

    在以下情况下,这种简化的初始化是理想的选择:

    • 想要从头开始构建基础设施
    • 需要将 azd集成到现有的复杂项目中
    • 更倾向于完全控制项目结构
  3. 完成项目配置。 可以在文件夹中手动创建基础结构文件 infra ,要求 AI 编码代理创建基础结构,并自定义 azure.yaml 以定义服务和资源。

项目和 Azure 资源命名

初始化新项目或现有项目时,项目名称将设置为azure.yaml。 项目名称充当预配过程中创建的 Azure 资源名称的前缀。 通过遵守验证规则,可确保生成的 Azure 资源名称也有效。

在 Bicep 或 Terraform 模板中,项目名称通常用作构建资源名称的基础,并结合环境名称和其他元素。 例如:

var resourceToken = '${name}-${environmentName}'

其中 name 引用项目名称,并且 environmentName 是环境的名称 azd 。

项目名称验证规则

用于 azd init 初始化项目或在文件中创建新项目名称 azure.yaml 时,将应用以下验证规则:

规则 Description
允许的字符 项目名称只能包含小写字母、数字和连字符。
起始字符 项目名称必须以字母开头。
结束字符 项目名称不得以连字符结尾。
长度 项目名称长度必须介于 2 到 63 个字符之间。
无连续连字符 项目名称不能包含连续连字符。

这些验证规则可确保项目名称与 Azure 资源的命名要求兼容,并防止在部署期间服务打包失败。

后续步骤

使用 azd init初始化项目后,可以:

  • 修改生成的基础结构文件以自定义 Azure 资源。
  • 用于 azd provision 在 Azure 中创建所需的资源。
  • 用于 azd deploy 将应用程序代码部署到预配的资源。
  • 了解 Azure Developer CLI 的 up 工作流,在一条命令中结合配置与部署。