Azure - 尝试一下使用Azure Developer CLI去部署应用程序

1. 简单介绍

Azure Developer CLI(简称AZD)是用于快速创建和部署Azure应用的开源工具。当前微软发布的很多Azure应用示例程序,基本都采用了AZD的部署方式。

Azure Developer CLI是Azure应用开发者用的比较多,而Azure CLI是用来管理Azure资源的通用命令,具体的区别还可以参考这篇mslearn文章,下面的图片就来自这篇文章,

Azure CLI和Azure Developer CLI都可以和Bicep进行配合使用。

这边将尝试使用一下Azure Developer CLI去部署一个Azure应用程序。

2. 具体说明

2.1 准备阶段

首选确保已经有一个Azure订阅了,然后需要安装Azure Developer CLI工具,可以使用如下命令

复制代码
winget install microsoft.azd

安装完成之后,可以使用如下命令检查一下版本信息,

复制代码
azd version

2.2 AZD template

Azure Developer CLI 中最常用的命令有azd init, azd up, azd down。这些命令都需要使用到AZD template(Azure Developer CLI template)。template中包括用来执行任务(例如预配 Azure 资源并将应用代码部署到Azure)的配置和基础结构即代码(IaC)文件。

用户可以自己创建一个AZD template,也可以基于微软提供的 template仓库 来制作template。

AZD template有类似如下的文件结构,

  1. .azure 文件夹 - 包含重要的 Azure 配置和环境变量,例如部署资源的位置或其他订阅信息。

  2. infra文件夹 - 包含 azd 模板的所有 Bicep 或 Terraform 基础结构即代码文件。

  3. src 文件夹 - 包含所有可部署的应用源代码。

  4. azure.yaml file - 将项目中的源代码文件夹映射到部署文件夹中定义的 infra Azure 资源。

2.3 使用AZD

2.3.1 场景一

这边打算基于如下微软开源的Azure Sample来试验一下AZD

get-started-with-ai-agents

这个项目使用了Foundry agent service, Azure AI Search, Azure Log Analytic等azure服务。

  1. 首先使用如下命令登录一下AZD

    azd auth login

  1. 下载项目 get-started-with-ai-agents

    git clone https://github.com/Azure-Samples/get-started-with-ai-agents.git

  2. 在命令行中输入 azd up开始部署应用,

在提示设定environment name的地方,设定一下environment name,

在选择Azure Subscription的地方,选择subscription,然后回车,

设定一下Azure资源部署的location,

等待一段时间(不到10分钟),发现Azure应用程序部署成功了

  1. 在浏览器中打开控制台中的endpoint链接,Azure Container App部署的应用能正常打开,

5)在Azure portal中,检查创建的资源组和资源,发现都创建成功了,

2.3.2 场景二

运行AZD的时候,也可以指定一个模板,比如

复制代码
azd init --template Azure-Samples/todo-csharp-cosmos-sql

1)运行上面的命令,发现首先会下载代码到本地,

2)然后运行 azd up开始部署azure资源,

  1. 等待一些时间,检查Azure portal,发现资源已经创建成功了,同时web app也能够正常打开。

2.4 其他

还可以直接使用Azure init进行template的创建或者选择

3.总结

本文简单介绍了一下AZD的使用过程。Azure Developer CLI在Devops CICD中也可以进行使用。关于Azure Developer CLI的内容细节还有很多,需要继续跟着微软老师学习一下。

本文如果哪里有错误,麻烦告之,谢谢谢谢!

相关推荐
Z-D-K4 小时前
我认为的AGI
人工智能·ai·人机交互·agent·agi
灵感__idea6 小时前
《AI工程》:构建应用,你准备好了吗?(决策篇)
aigc·openai·ai编程
SLD_Allen7 小时前
Garak:NVIDIA开源的LLM安全“体检”工具
安全·ai
曦尧8 小时前
Project AIRI:以 Web 技术栈为赌注,开源复刻 Neuro-sama 的「赛博生命」容器
ai·自动化
曦尧9 小时前
Tolaria:为 AI 时代重新设计的 Files-first / Git-first 本地知识库
ai·自动化
探索云原生10 小时前
终于搞懂 Kueue:5 个核心对象一次讲透
linux·docker·ai·云原生·kubernetes
爱学习的章鱼哥10 小时前
一些AI实操的经验与感想
人工智能·ai·ai作画·ai编程·ai写作·ai经验
ServBay10 小时前
同时用 Claude Code、Codex 和 Gemini CLI?一个本地网关就能统一管理
aigc·ai编程·claude
沸点小助手11 小时前
掘金VibeLaunch 沸点秀 来啦🚀
aigc·ai编程
猿的天空12 小时前
AI视觉原生统一!商汤开源视觉任务大统一模型SenseNova-Vision
人工智能·计算机·ai·程序员·大模型·编程·智能体