Azure 开发人员 CLI (azd) 提供了一组命令,用于简化在 Azure 上开发、预配和部署应用。 该 azd init 命令帮助您生成用于和 azd一起工作的文件和配置,从而设置新的或现有的项目。 本文介绍可用的不同初始化工作流,以及如何为开发方案选择最佳选项。
初始化工作流
azd init 命令支持多个工作流,以准备您的应用与 azd 配合工作:
-
扫描当前目录:分析现有应用代码库以生成适当的
azd配置文件和资源。 -
选择模板:克隆
azd模板并从模板库初始化模板。 -
创建最小项目:将基本
azure.yaml文件初始化为从头开始构建自己的azd模板的起点。
选择最适合你的项目的方法。 在 “创建模板”概述 和相关文章中更详细地概述了所有这些流。 以下部分提供了每个流的概念性概述。
扫描当前目录
如果已有应用代码库,并且想要准备它以便使用 azdAzure 进行部署,请使用此工作流。
导航到项目的根目录。
运行
azd init命令:azd init选择“ 扫描当前目录”。
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选择 “确认并继续初始化应用 ”以完成工作流。
azd在应用目录中创建以下内容:- 一个
azure.yaml文件,用于定义你的应用服务并将其映射到托管资源。 - 用于保存配置设置(例如环境名称)的
.azure文件夹。 - 一个
.gitignore文件,已针对你的应用语言和托管平台进行配置。
- 一个
(可选)运行
azd up以创建 Azure 容器应用资源并部署应用。
应用现在构建为模板 azd ,可以继续使用更多 Azure 资源和服务进行开发和扩展。
选择模板
通过此工作流,可以从预生成 azd 模板开始,该模板通常包括应用程序代码和必要的 Azure 基础结构定义。
运行
azd init命令:azd init注释
还可以使用
azd init参数运行--template,以按名称直接初始化模板,并跳过工作流选择。选择模板。
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)键入以筛选结果并搜索
Hello AZD模板。 按 Enter 克隆并初始化模板。(可选)运行
azd up以预配模板资源并将其部署到 Azure。
还可以使用初始化的模板作为进一步开发的起点。
创建最小项目
对于想要从最少的设置开始并手动自定义所有内容的高级用户,此选项仅提供基本配置。
运行命令
azd init并使用--minimal标志:azd init --minimal出现提示时,输入模板的名称
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命令以增量方式生成体系结构 - 更倾向于完全控制项目结构
- 仅包含项目名称和 schemaVersion 的基本
初始化后,可以:
- 在
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 工作流,在一条命令中结合配置与部署。