SuperAPI AI 工具集

release-conductor

部署与运维

查看项目

更新于 10-15 21:09

技能介绍

用途:当一个变更已合并到默认分支后,Release Conductor 负责把它带到生产并证明其在那里运行,同时不削弱项目既有的任何门禁。用户说“release this”“cut a release”“ship it to production”“deploy the release”时适用。它本身不部署任何东西,而是驱动 release.py 状态工具执行发布配方。

主要能力:工具读取项目的发布配方(.release/recipe.json),在每个关键步骤前检查授权,在隔离检出中运行配方命令,记录每一步,并拒绝规则禁止的操作。可准备、暂存和验证一次发布,但生产部署与任何回滚只在该会话中人类对本发布明确同意后才执行。流程包括:prep 打版本、生成更新日志、推送 release/<version> 并开 PR;stage 在隔离检出中构建并部署到暂存、轮询 version_probe、运行 staging_checks、推送标签;dispatch-verifier 派发独立验证子代理收集证据;deploy 在生产探测回滚目标并等待人类同意后执行一次;verify-prod 轮询生产探测并运行健康检查与 prod_smoke;rollback 在人类同意后执行一次回滚;abandon 在人类同意后结束卡住的发布。release status 只读,可随时运行。

使用方式:每个步骤对应一条命令,形如 python3 "$SKILL_DIR/assets/release.py" <command> --root <repo>,需 Python 3.10 或更新版本。首次需 release init 并经评审 PR 提交配方。各命令输出机器可读事件行(RELEASE:、STAGE:、DEPLOY:、PROD:、ROLLBACK:、RESULT:、GATE:、NEXT:、STOP:),退出码 0 成功、3 停止或等待人类、2 被拒绝或输入无效。NEXT: 行给出下一步应做什么。

适用场景:拥有已提交发布配方和由 verification-skill-forge 生成并提交的验证技能、默认分支检出干净且与 origin 同步、无未完成发布的项目。

限制:必须先满足四个前置条件,否则应停下并告知用户哪一项失败及原因。同一仓库同时只能有一个未完成发布。生产部署、回滚和 abandon 均需人类在本会话中明确同意,工具会原样记录传入的姓名,无法分辨真伪,因此不得在未获同意时传 --approved-by。verify-prod 对一次部署只判定一次,重跑会被拒绝。验证者必须是与准备驱动不同的全新子代理。无配方项目从 release init 开始。资料未提供具体支持的部署平台、配方字段细节、收费或价格信息。