SuperAPI AI 工具集

pre-ship-gate

部署与运维

查看项目

更新于 10-16 09:28

技能介绍

用途:在任何推送到生产或预发环境的命令之前,以及部署之后运行,避免把“部署命令退出码为 0”误当成“新版本已上线”。

主要能力分三阶段。阶段一预检,逐项确认常见静默失效模式:迁移是否会在新代码承载流量前应用到目标环境;功能开关在目标环境是否真的开启;构建缓存或 CDN 是否会继续提供旧包,需确认产物哈希或指纹已变;部署是否更新了符号链接、活动修订或流量指针,仅上传新构建不等于发布;分阶段或金丝雀流量是否卡在 0% 或等待手动晋升;目标环境中新代码所需的环境变量与密钥是否存在。

阶段二运行部署:实际部署由人工或既有工具执行,本技能只做门禁,不自己执行生产部署。

阶段三核验线上:从运行中的服务获取真实版本或修订标识,与打算发布的版本比较;请求健康或状态端点并确认返回预期版本,而不只是 HTTP 200;切换后跟踪生产日志中的首批错误。只有线上修订与预期一致才可报告“已发布”,不一致要报告不匹配。

用法示例:用 INTENDED="$(git rev-parse --short HEAD)" 取预期提交,用 curl -fsS https://your-service.example.com/health | jq -r '.revision' 取线上修订,两者相等才输出验证通过,否则输出 MISMATCH 且不得报告已发布。预检可输出 SHIP / HOLD 结论并点名失败项。

适用场景:生产或预发部署前、智能体准备报告已发布时、部署报告成功但用户仍见旧行为时,以及涉及数据库迁移、功能开关或分阶段发布的版本。

限制:本技能不替你执行生产部署,只做门禁与核验;它无法得知你环境确切的健康或版本端点,需先接入真实端点;静默失效清单是常见情况而非穷尽,特殊发布机制需自行补充;不替代环境专属测试、负载测试或专家评审;目标环境、预期修订或核验端点未知时应停下询问。注意健康检查返回 200 可能是命中缓存边缘或旧 Pod,须检查响应中的版本字段。