SuperAPI AI 工具集

diagnose-deployment

部署与运维

查看项目

更新于 10-15 12:29

技能介绍

用途

diagnose-deployment 是用于排查 Power Pages 部署错误的技能。它负责呈现 PAC CLI 上传错误与 Dataverse 异步操作错误,将错误与已知故障目录进行模式匹配,并在发现问题时提供可选的自动修复建议。

主要能力

  • 捕获 pac pages upload-code-site 命令的输出(stdout+stderr),交由 scripts/parse-deployment-errors.js 解析错误。
  • 在存在 .solution-manifest.json 时,查询 Dataverse 近期的异步操作与导入作业,识别失败记录。
  • 将错误归类为 Error(阻止部署)、Warning(可能引发问题)、Info(提示信息),并补充缺失产物类发现,如缺少 websiteRecordId、构建输出为空、存在多个环境清单等。
  • 对存在自动修复方案的问题提供修复建议,但每项修复都需要用户单独明确确认。
  • 输出最终发现摘要表,标注每项问题的处理状态(已修复、需手动处理、已跳过、仅提示)。

使用方式

该技能按阶段执行:

  1. 验证前置条件并定位项目(查找 powerpages.config.json、检查 PAC CLI 与 Azure CLI 及认证状态)。
  2. 参考当前 ALM 文档进行判断(限时约 30 秒,若检索失败会记录一行说明并继续,技能保持离线可运行)。
  3. 收集部署产物(读取配置、检查 .powerpages-site/、清单文件、构建输出等)。
  4. 以捕获模式重新运行上传命令以获取最新错误。
  5. 查询解决方案导入状态(仅在存在解决方案清单时)。
  6. 诊断并分类所有发现。
  7. 对可自动修复的错误逐项征求用户许可后执行修复,并在修复后重新运行相关检查验证结果。
  8. 展示最终发现摘要,若错误均已解决则建议重试部署,若仍需手动处理则列出具体步骤或命令。

自动修复覆盖的场景包括:过期的清单文件(删除 .powerpages-site/ 下的 *-manifest.yml)、JavaScript 上传被阻止(更新 blockedattachments 设置)、缺少 websiteRecordId(获取并更新记录 ID)、认证过期(引导重新认证)、构建输出为空(运行构建)。

适用场景

适用于 Power Pages 站点部署失败、上传报错、解决方案导入异常等需要诊断与分类部署问题的场景。使用前提是项目根目录包含 powerpages.config.json,且已安装 PAC CLI。

限制与约束

  • 任何自动修复都必须获得用户明确许可,单个修复不会覆盖其他修复的授权。
  • Azure CLI 令牌不可用时将跳过解决方案导入状态查询,并在摘要中说明。
  • 若解析脚本未返回任何发现,会提示未检测到已知错误模式并展示原始输出供人工检查。
  • 若上传命令无输出,会报告当前状态下未检测到上传错误。
  • 具体价格、收费、支持平台与效果等信息暂未提供。