Azure Developer CLI 官方参考知识体系以 Microsoft Learn 为事实源的 azd 项目开发与排障指南【免费下载链接】awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-copilot本指南以 awesome-copilot 仓库中 azure-developer-cli 技能 的官方参考资料索引references/official-docs.md为骨架系统梳理 Azure Developer CLIazd的权威知识领域核心概念与项目结构、基础设施即代码Bicep/Terraform、环境与密钥管理、钩子/流水线与运维以及 GitHub Copilot Agent 技能格式。读者读完本指南后将掌握一套按需查阅官方文档、以仓库内参考手册落地的 azd 项目设计、审查、迁移与排障方法论并能在不确定字段、命令参数或预览特性行为时快速定位正确的权威依据。为什么需要一份官方参考索引Azure Developer CLI 是快速演进的工具其 Schema、命令参数、Host 类型、预览状态与认证行为经常调整。azd项目一旦基于过时记忆或过气博客编写很容易在生产环境暴露出字段不兼容、命令行为漂移等问题。因此本技能在 references/official-docs.md 中确立了一条铁律Use Microsoft Learn as the source of truth for AZD behavior and schema details.即以 Microsoft Learn 作为 azd 行为与 Schema 细节的事实源。该参考索引于 2026-08-05 经过复核并将官方资料按五大领域组织核心概念与结构、基础设施即代码、环境与密钥、钩子/流水线与运维、技能格式。文档末尾的原则进一步要求当某个字段、命令标志、宿主类型、预览状态或认证行为不确定时必须查阅对应的最新参考后再修改代码不要依赖对快速演进的预览特性preview feature的背诵式记忆。这条方法论与技能的整体定位一致SKILL.md 的 frontmatter第 1-5 行即声明该技能用于依据 Microsoft 当前指导设计、创建、审查、迁移或排障 azd 项目覆盖 azure.yaml、AZD 模板、infra 下的 Bicep/Terraform、环境与密钥、钩子、部署工作流与 azd 托管的 CI/CD。核心概念与结构从 azd 概览到 azure.yaml 清单官方参考的第一组主题回答azd 是什么、模板怎么来、清单怎么写、一条命令如何贯通部署Azure Developer CLI 文档与 What is the Azure Developer CLI?工具定位与整体能力边界。Azure Developer CLI 模板概述与如何创建兼容模板官方模板生态与azd对仓库结构的要求。Azure Developer CLI Schema 参考与azure.yamlJSON Schema清单文件的权威字段定义是编辑器校验与审查的底层依据。azd up工作流详解与全栈部署一条命令完成打包、预配、部署的组合语义以及多服务全栈场景下的行为。仓库内与之对应的是 references/project-structure.md它给出了 azd 项目推荐布局——根目录一份azure.yaml、infra/存放 IaC 编排入口、src/service-name/存放每个可独立部署的服务、scripts/azd/存放钩子脚本而.azure/是生成的本地环境状态必须被.gitignore排除。azure.yaml基线清单直接来自技能自带的可运行示例 examples/azure.yaml# yaml-language-server: $schemahttps://raw.githubusercontent.com/Azure/azure-dev/main/schemas/v1.0/azure.yaml.json name: sample-app infra: provider: bicep path: ./infra module: main services: api: project: ./src/api language: ts host: appservice web: project: ./src/web dist: dist language: ts host: staticwebapp要点解读依据 project-structure.md 的清单核对项首行的 Schema 指令为编辑器提供 azure.yaml 的实时校验这正是官方azure.yamlJSON Schema 在工程中的落地方式。name必须小写、以字母数字开头与结尾仅允许字母数字与连字符。infra块的providerBicep 为默认、path默认./infra、module默认main显式声明时更利于审查若省略则按默认值推断所以阅读azure.yaml时切勿先入为主地假设默认路径或默认提供商。services中每个条目代表一份可部署的应用代码而非数据库、Key Vault 等共享资源服务名应简短、有意义且保持稳定因为它们参与资源发现与部署。metadata.template、requiredVersions、workflows、state.remote等顶层字段各有明确用途模板分发时标识来源、依赖最低 azd 版本时声明约束、仅当部署顺序确有需要时覆盖工作流、团队共享环境时配置远程状态。基础设施即代码Bicep 与 Terraform 的官方口径官方参考的第二组主题确立 IaC 侧的权威依据Use Terraform as an infrastructure as code tool for Azure Developer CLIazd 对 Terraform 的集成方式与当前限制。Azure Verified Modules微软验证过的可复用资源模块体系。Bicep 文档与 Terraform on Azure 文档两种 IaC 语言本身的权威资料。仓库内 references/iac-and-environments.md 给出了与此对应的选型与实践口径Bicep 是 azd 的默认 IaC 提供商适用于纯 Azure 项目、追求原生资源覆盖与无状态部署模型的团队Terraform 则适用于仓库已采用 Terraform、已有模块/状态/策略/审查实践或确有跨云需求的团队。Terraform 支持目前被微软官方文档标记为 beta这是必须向用户明示的约束不能仅因熟悉而把项目迁到 Terraform。Bicep 结构上保持main.bicep为薄编排层能力按modules/core、modules/data、modules/identity、modules/observability、modules/services拆分模块版本应锁定并走评审升级不浮动追踪。参数流转是 azd 与 IaC 的契约核心。用main.parameters.json将 AZD 环境值映射进 Bicepiac-and-environments.md{ $schema: https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#, contentVersion: 1.0.0.0, parameters: { environmentName: { value: ${AZURE_ENV_NAME} }, location: { value: ${AZURE_LOCATION} } } }入口文件中使用带描述与校验装饰器的参数声明与之呼应description(Stable name of the AZD deployment environment.) minLength(1) param environmentName string description(Primary Azure region for this deployment.) param location string而outputs是预配阶段与后续azd deploy、钩子、流水线之间的契约——例如output SERVICE_API_ENDPOINT_URL string api.outputs.endpoint输出名必须稳定因为服务、钩子、流水线会把它当作环境变量消费。任何秘密值都禁止出现在 IaC 输出中因为部署输出会被复制进 AZD 环境。Terraform 侧的关键实践同样依据 iac-and-environments.md在azure.yaml显式设置infra.provider: terraform并将所有 azd 托管的.tf文件置于配置的 infra 路径下。锁定 Terraform 与 Provider 版本并提交依赖锁文件.tfstate、计划文件、崩溃日志、Provider 凭据一律不入库。Terraform 的 Azure Provider 默认使用 Azure CLI 认证不经 azd 凭据缓存推荐单次登录配置azd config set auth.useAzCliAuth true后执行az login否则需要同时执行azd auth login与az login。在azd pipeline config或协作部署前配置受保护的远程后端azd 按官方 Terraform 集成要求从infra/provider.conf.json读取后端设置远程状态须按机密数据对待配 RBAC 与网络控制。环境与密钥官方环境模型的落地官方参考的第三组主题覆盖 azd 的多环境模型与密钥处理Azure Developer CLI 环境概述与使用环境环境是什么、如何创建/选择/管理。环境变量管理非密钥型配置的存取方式。远程环境支持团队共享环境状态的官方方案。环境密钥Environment secrets密钥在 azd 环境中的标准用法。仓库内对应文档 iac-and-environments.md 描述了 azd 的本地状态布局.azure/ |-- config.json |-- environment-name/ |-- .env |-- config.json整个.azure目录必须留在源码控制之外。环境命名建议共享环境用project-dev、project-test、project-prod个人环境用alias-purpose临时环境用project-pr-number并保证自动化同时负责清理名称要短到能容纳资源命名限制。环境管理应使用命令而非手工改文件同样来自 iac-and-environments.mdazd env new name azd env list azd env select name azd env set key value azd env get-value key azd env unset key azd env refresh在自动化与可能破坏性的操作中务必显式指定环境azd provision -e environment --no-prompt azd deploy -e environment --no-prompt密钥方面官方环境密钥特性对应azd env set-secret name它在 AZD 环境中保存一个 Key Vault 引用而非明文。仓库内 security-cicd-operations.md 给出密钥偏好顺序托管身份 最小权限 RBAC → CI/CD 用工作负载身份联合OIDC→ Key Vault 引用 → 仅在无身份方案可用时才使用短时密钥材料。与 Bicep 配合时输入参数标记secure()、经main.parameters.json映射 AZD 密钥引用、绝不输出该安全值同时要注意当前官方文档指出环境密钥与.bicepparam文件不兼容。团队共享环境时配置state.remoteiac-and-environments.mdstate: remote: backend: AzureBlobStorage config: accountName: storage-account-name containerName: project-container-name需特别区分AZD 远程状态同步的是.env与 azdconfig.json环境配置与Terraform 远程状态托管基础设施状态是两回事一个通过 azd 协作的 Terraform 项目可能同时需要两者且两份存储都须以最小权限 RBAC 与数据保护设置加以防护。钩子、流水线与运维官方扩展点与生命周期官方参考的第四组主题覆盖 azd 的扩展与运维用钩子定制 azd 工作流生命周期各阶段的扩展机制。CI/CD 流水线支持与 GitHub Actions 流水线创建azd 生成与托管流水线的官方路径。高级流水线特性与配置变量、密钥、审批、环境保护等。azd 命令参考与故障排查权威命令语义与排障方法。仓库内 security-cicd-operations.md 给出了落地的完整闭环。azd 的标准生命周期是打包应用制品 → 预配/更新基础设施 → 部署应用制品。azd up是这三步的组合命令适合日常开发与简单部署当需要基础设施评审、应用频繁重部署、隔离排障或自定义依赖顺序时应拆分为azd package、azd provision -e environment、azd deploy -e environment。钩子只在默认生命周期无法表达需求时添加规则包括优先外部脚本存放于scripts/azd、显式声明shellsh或pwsh、必要时提供windows与posix双实现、脚本幂等、CI 中非交互、continueOnError保持false除非仅观测或确实可选、先azd hooks run hook-name独立测试。技能自带的 examples/azure.yaml 第 20-32 行就是标准的双平台钩子模板hooks: preprovision: windows: shell: pwsh run: ./scripts/azd/validate.ps1 interactive: false continueOnError: false posix: shell: sh run: ./scripts/azd/validate.sh interactive: false continueOnError: falseCI/CD 侧azd pipeline config被官方标记为beta运行前须审查模板自带的流水线定义确认仓库、组织、环境、订阅与认证模式并预期其对仓库、身份、变量、密钥、提交、推送与流水线的副作用pipeline.variables或pipeline.secrets变更后需重跑。GitHub Actions 场景下 azd 默认配置 OIDC/联合凭据但当前 azd 的 Terraform 流水线流程不支持 OIDC应明确评估认证取舍而不是静默回退到长期凭据。部署前的本地验证来自 security-cicd-operations.mdBicep: az bicep build --file infra/main.bicep Terraform: terraform fmt -check -recursive terraform init -backendfalse terraform validate AZD hooks: azd hooks run hook-name Packaging: azd package故障排查遵循同样的以事实源为准思路security-cicd-operations.md先判断失败发生在打包、预配、部署、钩子、认证还是资源发现阶段重跑最小失败阶段而非整个azd up核对选中环境与预期的订阅/租户/区域检查azure.yaml路径与资源发现标签Azure 状态在别处变更后用azd env refresh同步Terraform 项目则同时核查 azd/Azure CLI 认证与远程状态必要时开启调试日志并先脱敏再分享。技能格式Agent 侧的知识来源官方参考的第五组主题面向 GitHub Copilot Agent 技能的编写者为 GitHub Copilot 添加 Agent 技能Adding agent skills for GitHub Copilot技能的安装与接入方式。关于 Agent 技能About agent skills技能概念、边界与最佳实践。这两份资料之所以被收入 azd 技能参考是因为 azure-developer-cli 本身就是一个以 SKILL.md 为入口的 Copilot 技能其 frontmatter 声明了nameazure-developer-cli、description描述适用场景供模型匹配调用与licenseMIT。当技能作者或使用该技能的 Agent 需要调整技能行为、字段或参考引用时应先查阅官方技能格式文档再决定如何修改 frontmatter、正文与references/下的手册避免把 azd 行为与技能元数据格式混为一谈。落地清单不确定时该查哪份参考将官方参考索引的方法论转化为可执行的核对动作文件均为本仓库内路径场景优先查阅azure.yaml 字段、服务/Host 类型、Schema 合法性references/official-docs.md 的 Schema 主题 references/project-structure.md 清单Bicep/Terraform 结构、参数流转、输出契约、远程状态references/iac-and-environments.md环境创建/选择/密钥、远程环境、state.remotereferences/iac-and-environments.md 的环境章节钩子写法、CI/CD、azd pipeline config、验证与排障references/security-cicd-operations.md技能格式与接入方式references/official-docs.md 的 Skill format 主题涉及命令标志、预览状态、认证行为的任何不确定点先查对应官方当前参考再改代码结尾再次回到 official-docs.md 的核心结论对于 azd 这样快速演进的工具正确性来源于查阅当前官方文档这一习惯本身。把官方参考索引用作知识地图、把仓库内三份参考手册用作落地细则就能在字段、命令与预览特性不断变化的情况下稳定地产出可维护、安全、环境感知的 azd 项目。【免费下载链接】awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-copilot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考