通过


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

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

初始化工作流

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

  • 扫描当前目录:分析现有应用代码库以生成适当的 azd 配置文件和资源。
  • 选择模板:克隆azd模板并从模板库初始化模板
  • 创建最小项目:将基本 azure.yaml 文件初始化为从头开始构建自己的 azd 模板的起点。

选择最适合你的项目的方法。 在 “创建模板”概述 和相关文章中更详细地概述了所有这些流。 以下部分提供了每个流的概念性概述。

扫描当前目录

如果已有应用代码库,并且想要准备它以便使用 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 模板。 按 Enter 克隆并初始化模板。

  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.
    Run azd add to add new Azure components to your project.
    

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

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

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

    • 想要从头开始构建基础设施
    • 需要与现有复杂项目集成azd
    • 计划使用 azd add 命令以增量方式生成体系结构
    • 更倾向于完全控制项目结构
  3. 初始化后,可以:

    • infra 文件夹中手动创建基础结构文件
    • azd add使用撰写功能开始将 Azure 资源添加到应用
    • 自定义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 工作流,在一条命令中结合配置与部署。