SuperAPI AI 工具集

azure-deploy

部署与运维

查看项目

更新于 10-13 21:32

技能介绍

用途

azure-deploy 用于执行 Azure 部署,目标对象是“已经准备好的应用”,即项目中已存在 .azure/deployment-plan.md 与基础设施文件。它不负责创建应用、生成基础设施代码或搭建项目,这些任务属于 azure-prepare 的范畴。

该技能在完整工作流中位于最后一步:azure-prepare → azure-validate → azure-deploy。执行部署前,必须先调用并完成 azure-validate,且状态为 Validated。

主要能力

  • 执行 azd up、azd deploy、terraform apply、az deployment 等部署命令,并经由该技能的错误恢复与验证流水线运行。
  • 将已构建代码推送到生产环境,或向现有 Azure 部署推送更新。
  • 部署已包含 API Management(APIM)/AI 网关基础设施的应用。
  • 提供部署步骤表,从检查计划、预部署检查清单、加载 recipe、RBAC 健康检查、执行部署、部署后配置、错误处理、验证成功、实时角色验证到报告结果。
  • 内置验证环节:确认部署完成、端点可访问,并查询 Azure 以确认已预配的 RBAC 角色正确且充分。
  • 部署后处理:在适用时配置 SQL 托管标识并应用 EF 迁移。
  • 提供 MCP 工具调用:mcp_azure_mcp_subscription_list、mcp_azure_mcp_group_list、mcp_azure_mcp_azd、azure__role。
  • 提供故障排除与部署后步骤参考资料。

使用方式

前置条件必须同时满足:azure-prepare 已调用并完成,且 .azure/deployment-plan.md 存在;azure-validate 已调用并通过,计划状态为 Validated。若任一缺失,应立即停止:无计划则先调用 azure-prepare;状态未验证则先调用 azure-validate。

禁止手动将计划状态改为 Validated。只有 azure-validate 技能在运行实际验证检查后才有权设置该状态。

执行流程(步骤表):

  1. 检查计划:读取 .azure/deployment-plan.md,验证状态为 Validated,且 Validation Proof 部分已填充。
  2. 完成预部署检查清单的所有步骤。
  3. 根据计划中的 recipe.type 加载 recipe。
  4. RBAC 健康检查:针对 Container Apps + ACR 配合托管标识的场景,运行 azd provision --no-prompt,然后在继续前验证 AcrPull 角色已传播。
  5. 按 recipe 步骤执行部署。
  6. 部署后:在适用时配置 SQL 托管标识并应用 EF 迁移。
  7. 处理错误:参见 recipe 的 errors.md。
  8. 验证成功:确认部署完成且端点可访问。
  9. 实时角色验证:查询 Azure 以确认预配的 RBAC 角色正确且充分。
  10. 报告结果:向用户展示部署端点 URL。

触发场景包括:执行已准备应用的部署(存在 azure.yaml 和 infra/);向现有 Azure 部署推送更新;在已准备项目上运行 azd up、azd deploy 或 az deployment;将已构建代码交付到生产;部署已包含 APIM 网关基础设施的应用。

SDK 快速参考包括 Azure Developer CLI:azd;以及 Azure Identity 的 Python、.NET、TypeScript、Java 版本。

适用场景

  • 已完成准备与验证、需要实际执行部署的应用。
  • 需要推送更新到现有 Azure 部署的项目。
  • 已构建完成、准备上线到生产的代码。
  • 已包含 APIM/AI 网关基础设施的应用部署。
  • 需要部署后 SQL 托管标识配置与 EF 迁移的场景。

限制

  • 仅执行部署,不创建应用、不生成基础设施代码、不搭建项目;这些使用 azure-prepare。
  • 必须在 azure-prepare 和 azure-validate 之后运行。
  • .azure/deployment-plan.md 必须存在且状态为 Validated。
  • 必须完成预部署检查清单。
  • 破坏性操作需要 ask_user 确认。
  • 禁止自行将计划状态改为 Validated。
  • 不要假设应用已就绪,不要跳过验证。
  • 检查计划时须确认 Validation Proof 部分(第 7 节)包含实际验证结果、所运行命令与时间戳;若为空说明验证被绕过,需先调用 azure-validate。
  • 向用户展示端点 URL 时必须使用带 https:// 的完整 URL,例如 https://myapp.azurewebsites.net,而不是 myapp.azurewebsites.net;许多 Azure CLI 命令返回不带 scheme 的裸主机名,展示前一律补上 https://。
  • 创建或修改 APIM 资源请参见 APIM 部署指南;AI 治理策略请调用 azure-aigateway 技能。