用途:承接 /ship(创建 PR)之后的落地流程,把 PR 合并并验证生产环境是否正常。默认非交互执行,只在关键就绪门与硬性阻塞时停止。
主要能力:
- 前置检查:gh auth status 验证 GitHub CLI 登录,gh pr view 检测当前分支 PR,处理未登录、无 PR、已合并、已关闭等停止条件。
- CI 状态检查:gh pr checks 查看检查状态与合并冲突,失败即停,待定则等待(gh pr checks --watch --fail-fast,15 分钟超时)。
- 合并前就绪门:检查评审是否过期(按提交数阈值)、运行快速测试(npm/pnpm/pytest/go test)、检查 CHANGELOG 与 VERSION 是否更新,输出就绪报告并让用户选择合并、暂缓或强行合并。
- 合并:gh pr merge --auto --delete-branch(自动合并不可用时回退 --squash --delete-branch),记录合并 SHA 与时间。
- 平台检测:根据 fly.toml、render.yaml、vercel.json、netlify.toml、Procfile、railway.toml 及 GitHub Actions 工作流判断部署方式,并按 diff 范围(前端/后端/文档/配置)决定检定深度。
- 等待部署:轮询 GitHub Actions 运行或平台状态,失败可提供查日志或回滚。
- 生产健康检查:curl 检查 HTTP 200、响应时间、/health 端点、页面内容字节数;失败时提供排查、回滚或继续选项。
- 回滚:git revert 合并提交并推送;有冲突或分支保护时给出替代做法。
- 输出部署报告与后续建议。
用法: /land-and-deploy /land-and-deploy https://app.example.com /land-and-deploy 123 /land-and-deploy 123 https://app.example.com
限制:需已登录 GitHub CLI 且已存在 PR;文档类改动跳过部署验证;生产检查为单次通过,扩展监控需用 /canary;不强制推送、不跳过 CI;平台与部署细节依赖项目现有配置,资料未覆盖的环境需人工判断。