在本快速入门中,你将浏览和自定义 Azure 开发人员 CLI 模板。 hello-azd 模板提供了一个简单的起点,用于使用 Azure 开发人员 CLI 生成azd
应用程序并将其部署到 Azure。 本快速入门扩展了 快速入门 - 部署 azd 模板 文章中演示的概念。
先决条件
要在浏览器中完成此快速入门,你将需要:
- 访问 GitHub Codespaces
或者,要使用本地工具完成本快速入门,请执行以下操作:
- 已安装在本地计算机上的 Azure Developer CLI
- Visual Studio Code 或所选编辑器
- 在本地计算机上安装 Docker 桌面
探索 Azure 开发人员 CLI 模板结构
azd
模板是包含其他资产的标准代码存储库。 所有 azd
模板都基于 azd
约定共享类似的文件结构:
infra
文件夹 - 包含azd
模板的所有 Bicep 或 Terraform 基础结构即代码文件。azd
执行这些文件以创建应用所需的 Azure 资源。src
folder - 包含应用源代码。azd
根据配置azure.yaml
打包并部署代码。azure.yaml
file - 将项目中的源代码文件夹映射到部署文件夹中定义的infra
Azure 资源的配置文件。 例如,可以在单独的文件夹中定义 API 服务和 Web 前端服务,并将其映射到不同的 Azure 资源进行部署。.azure
文件夹 - 包含重要的 Azure 配置,例如部署资源的位置。
例如,大多数 azd
模板都与以下文件夹结构匹配:
设置示例模板
hello-azd
是一个示例模板,旨在展示可以使用单个命令部署到 Azure 的基本功能 azd
。 该模板提供了一个友好的 UI,其中包含关于 azd
以及一个可用于上传和查看支持票证的小型演示工具的信息。
该模板支持以下功能:
按照以下步骤设置模板:
在 GitHub 上打开 hello-azd 模板存储库 。
选择 “代码 ”按钮,然后选择 “Codespaces”。
创建新的 Codespace 以在浏览器中启动完全配置的开发环境。 环境初始化可能需要等待片刻。
加载 Codespaces 环境后,使用
azd
以下命令初始化azd init
模板:azd init -t hello-azd
出现提示时,输入环境的名称
azd
,例如helloazd
。
浏览模板
在所选工具中打开模板后,可以浏览文件夹结构以探索模板的工作原理 azd
:
src
展开文件夹以查看应用的源代码。- 该
hello-azd
模板包括一个容器化的 .NET 应用,该应用提供一个简单的 UI 来了解azd
和管理示例票证数据。azd
还支持其他语言,如 JavaScript 和 Python。 - 运行
azd up
时,应用打包为容器映像,并部署到 Azure 容器应用。
- 该
展开
infra
文件夹以浏览基础设施即代码文件。此模板使用 Bicep 文件 (
.bicep
) 创建 Azure 资源,但也可以使用 Terraform (.tf
)。该文件
main.bicep
通过引用文件夹中的其他 Bicep 模块infra
(例如 Azure 存储帐户)来创建 Azure 资源:// Omitted... // Create a storage account module storage './core/storage/storage-account.bicep' = { name: 'storage' scope: rg params: { name: !empty(storageAccountName) ? storageAccountName : '${abbrs.storageStorageAccounts}${resourceToken}' ___location: ___location tags: tags containers: [ { name: 'attachments' } ] } } // Omitted...
在模板的根目录中,打开
azure.yaml
文件以查看基本模板配置:该模板定义一个名为
aca
的服务。服务配置
aca
指示azd
将src
文件夹中的源代码打包并部署到由您之前浏览过的 Bicep 模块配置的 Azure 容器应用中。这些
docker
配置指示azd
将应用打包并部署为容器。metadata: template: hello-azd-dotnet # Specifies the template being used name: azd-starter # Name of the project services: aca: # Define the Azure Container App service project: ./src # Path to the source code language: csharp # Programming language host: containerapp # Hosting service docker: path: ./Dockerfile # Location of the Dockerfile
更新模板
可以更改模板以影响已部署的应用和资源。 在此示例中,你将对应用进行两个小更改,并浏览已部署的结果:
- 将应用标头欢迎文本更新为你自己的消息
- 更新已创建的存储帐户,以创建两个 Blob 容器而不是一个 Blob 容器
若要进行这些更改,请完成以下步骤:
在
src > Components > Pages
文件夹中,打开Home.razor
组件。将页面顶部的 Hello、Azure 开发人员 CLI! 标头文本替换为其他消息,例如 Hello、自定义模板! 并保存所做的更改。
<MudText Typo="Typo.h2" GutterBottom="true">Hello, customized template!</MudText>
在
infra
文件夹中,打开main.bicep
该文件。大约在第 75 行找到创建存储帐户和 Blob 容器的 Bicep 代码块。
// Create a storage account module storage './core/storage/storage-account.bicep' = { name: 'storage' scope: rg params: { name: !empty(storageAccountName) ? storageAccountName : '${abbrs.storageStorageAccounts}${resourceToken}' ___location: ___location tags: tags containers: [ { name: 'attachments' } ] } }
将所有代码替换为以下片段:
// Create a storage account module storage './core/storage/storage-account.bicep' = { name: 'storage' scope: rg params: { name: !empty(storageAccountName) ? storageAccountName : '${abbrs.storageStorageAccounts}${resourceToken}' ___location: ___location tags: tags containers: [ { name: 'attachments' }, { name: 'archive' } ] } }
运行模板
进行更改后,使用 azd up
命令预配和部署应用资源:
在项目目录中打开终端。
若要预配和部署模板,请
azd up
运行以下命令:azd up
此命令将会:
- 打包用于部署的应用
- 预配所需的 Azure 资源
- 使用最新更改来部署应用程序
- 打印已部署应用程序的 URL
若要查看更新的应用程序实时,请在浏览器中打开控制台输出日志中打印的
azd
URL。若要查看创建的两个 Blob 容器,请在 Azure 门户中导航到创建的存储帐户。
结论
在本快速入门中,你了解了模板的结构 hello-azd
、自定义了模板的应用程序和基础结构,并使用 Azure 开发人员 CLI 将其部署到 Azure。 对于更高级的方案,请浏览其他模板或深入了解 azd
文档。