SuperAPI AI 工具集

azure-webapp-deploy

部署与运维

查看项目

更新于 10-15 10:33

技能介绍

Azure Web App Deploy 是一个面向智能体的部署技能,用于帮助将 Web 应用通过一套固定的 Azure 模式部署上线:容器镜像 -> ACR -> Azure App Service -> 可选 Cloudflare 主机名。

用途 该技能旨在协助智能体完成 Web 应用在 Azure 上的部署流程。它不是一次性向导,而是需要与用户分阶段协作,询问缺失的决策选项,并将脚本作为独立的非交互式辅助工具使用。

主要能力

  • 检查仓库就绪状态,识别部署所需文件。
  • 渲染结构化的部署与域名计划。
  • 协助添加或验证 Dockerfile 和 GitHub Actions 部署工作流。
  • 配置 GitHub 与 Azure 的 OIDC 联合凭据、系统分配标识、AcrPull 和 Key Vault 读取角色。
  • 部署并监控工作流执行。
  • 在用户确认域名后配置可选的 Cloudflare 主机名。
  • 验证部署后的 HTTP 端点。
  • 支持 LLM 运行时模式:若应用调用 OpenAI 兼容端点,建议使用 LLM_API_ENDPOINT、LLM_API_KEY、LLM_MODEL、LLM_REASONING_EFFORT 等环境变量名,并将密钥类值设置为 Azure App Service 中的 Key Vault 引用。

使用方式 该技能提供三个独立脚本:

  • scripts/inspect_webapp_deploy.py:检查仓库就绪状态。
  • scripts/render_plan.py:打印结构化的部署/域名计划。
  • scripts/verify_deploy.py:检查已部署的 HTTP 端点。 脚本默认输出 JSON,不提示输入,不读取密钥值,支持 --no-input 和 dry-run/planning。

典型工作流包括:检查仓库、渲染计划、修改仓库(添加或验证 Dockerfile 和 GitHub Actions 工作流,Next.js 建议使用 standalone 输出)、配置 GitHub/Azure、部署并监控、可选配置 Cloudflare 主机名、验证部署。

适用场景 适用于需要将小型或生产 Web 应用部署到 Azure App Service 的场景,特别是涉及容器化部署、GitHub Actions OIDC 认证、Key Vault 支持的运行时设置以及可选 Cloudflare 自定义域名的项目。

限制与注意事项

  • 不要在没有用户批准的情况下虚构公共域名。
  • 除非 OIDC 不可用且用户接受权衡,否则不要使用发布配置文件进行新部署。
  • 不要为运行时应用配置添加宽泛的 GitHub 密钥。
  • 不要为了让部署工作而将私有 LLM 或后端服务公开。
  • 不要将 Azure 应用指向不存在的镜像而不指出。
  • 设置完成后,在仓库中记录持久的部署决策。
  • 运行时密钥应保留在 Azure Key Vault 中,不要放入 GitHub Actions 密钥。
  • 对于 Cloudflare 支持的自定义主机名,使用分阶段流程:先仅 DNS、Azure 验证、SNI 绑定,然后代理 CNAME。

该技能的具体收费、价格、平台支持范围等信息暂未提供。