发版 Go/No-Go
用途
在发版前产出人在回路的门禁包:
- 范围确认 — 版本/环境/变更摘要
- 检查表 — 配置、迁移、监控、回滚、值班、沟通(是/否/不适用/未知)
- Go / No-Go 建议 — 关键项为「否/未知」则建议 No-Go
- 未决与负责人 — 谁在发版前必须补齐
空表见 references/go-nogo-template.md。
本技能不执行任何发版命令、不合并代码、不修改生产配置。
适用场景
- 适合: 发版评审前自检;值班交接时确认可否上;需要把口头检查变成可勾选记录。
- 不适合: 「帮我直接发布」「跑流水线」「改生产开关」。
怎么使用(普通用户)
在 AI 助手里直接说,例如:
- 「用发版 Go/No-Go,v2.3.1 今晚上生产,帮我列门禁检查」
- 「这次有没有 No-Go,回滚方案还没写清楚」
- 「发版前检查:配置、迁移、值班、监控」
使用步骤
1. 澄清输入(最少必要)
| 字段 | 说明 |
|---|---|
| 版本/变更 | 标签或摘要 |
| 目标环境 | 预发/生产等 |
| 回滚方案线索 | 有/无/未知 |
| 值班人 | 姓名或角色 |
| 已知风险 | 用户列出的风险点 |
缺回滚方案线索时,回滚项标「未知」,结论倾向 No-Go,直到用户补齐。
2. 填写检查表
对每项给出:是 / 否 / 不适用 / 未知,并附一句证据或缺口说明。默认关键项至少包括:
- 变更范围与影响面已说明
- 配置/开关变更已列出且有负责人
- 数据迁移/兼容策略已确认(或明确无)
- 监控与告警已覆盖新风险点
- 回滚步骤可执行且已演练/可复述
- 值班与升级路径明确
- 相关方沟通(客户/客服/依赖方)已完成或明确不需要
3. 给出 Go/No-Go 建议
规则(写进输出,供人裁定):
- 任一项关键检查为 否 或 未知 → 建议 No-Go
- 全部关键项为 是 或合理 不适用 → 建议 Go(仍须人工签字)
- 输出中保留「最终裁定人」空位,AI 不代替签字
3.1 紧急热修:可缩短的清单与不可省的底线
线上正在流血时,把常规发版的全套门禁跑完可能比故障本身代价更高。但缩短不等于跳过——以下三类必须分清:
| 类别 | 具体项 | 热修时如何处理 |
|---|---|---|
| 不可省(任何情况) | 回滚步骤可执行、值班与升级路径明确、变更范围已说明 | 照常检查。回滚方案未知时仍判 No-Go——热修失败没有退路比不修更糟 |
| 可降级为「事后补」 | 相关方沟通、文档更新、监控告警的完整覆盖 | 标「热修后 24 小时内补」,并在决策卡写明责任人,不是消失 |
| 可标不适用 | 全量回归测试、非相关模块验证、常规变更窗口 | 写明「因热修豁免」及豁免批准人,不留空 |
判定规则:
- 热修豁免必须有批准人:任何标为「因热修豁免」的项都要写出是谁批的;写不出批准人就不算豁免,仍按 No-Go 处理。
- 改动范围越小,豁免才越合理。热修若涉及数据迁移、配置变更或多模块改动,不适用本节缩短清单,应走常规门禁。
- 缩短清单只降低检查项数量,不降低单项标准:保留的项仍要「是/否/不适用/未知」四态如实填,不能因为着急就把「未知」写成「是」。
- 决策卡须显式标注本次为热修模式并列出豁免项,供事后复盘核对。
4. 红线
- 不运行
git/kubectl/CI 命令 - 不声称「已验证生产安全」
- 不编造已完成的检查结果
- 不因「紧急」而把未确认项写成已完成——紧急只影响检查范围,不影响事实
输出格式
# 发版 Go/No-Go:{版本} → {环境}
## 范围
- 变更摘要: …
- 窗口: …
## 检查表
| 项 | 状态 | 说明 |
| --- | --- | --- |
| … | 是/否/不适用/未知 | … |
## 建议结论
- Go / No-Go: …
- 理由: …
- 最终裁定人: (待填)
## 发版前未决
| 事项 | 负责人 | 完成定义 |
| --- | --- | --- |
| … | … | … |
示例
输入:
版本: v2.3.1
环境: 生产
变更: 订单回调重试逻辑;无 DB 迁移;新增配置 ORDER_RETRY_MAX=5
回滚: 回滚镜像到 v2.3.0;配置可热更
值班: 今晚 oncall 小陈
监控: 已加回调失败率面板,但告警阈值未改
沟通: 客服未通知
输出:
# 发版 Go/No-Go:v2.3.1 → 生产
## 范围
- 变更摘要: 订单回调重试逻辑;配置 ORDER_RETRY_MAX=5;无 DB 迁移
- 窗口: (用户未给,待补)
## 检查表
| 项 | 状态 | 说明 |
| --- | --- | --- |
| 变更范围说明 | 是 | 回调重试 + 配置项已说明 |
| 配置变更清单 | 是 | ORDER_RETRY_MAX=5,可热更 |
| 数据迁移 | 不适用 | 明确无 DB 迁移 |
| 监控覆盖 | 否 | 有面板但告警阈值未改 |
| 回滚方案 | 是 | 回滚镜像 v2.3.0 + 配置热更 |
| 值班与升级路径 | 是 | oncall 小陈 |
| 相关方沟通 | 否 | 客服未通知 |
## 建议结论
- Go / No-Go: **No-Go**
- 理由: 监控告警阈值未改;客服未通知(关键项为否)
- 最终裁定人: (待填)
## 发版前未决
| 事项 | 负责人 | 完成定义 |
| --- | --- | --- |
| 更新回调失败率告警阈值并验证触发 | 研发/SRE | 告警规则已发布且测试触发成功或签字确认 |
| 通知客服变更与常见问题话术 | 发布负责人 | 客服群确认已读 |
| 补齐发布窗口时间 | 发布负责人 | 写入本卡「窗口」字段 |
常见问题(FAQ)
- 用户要我直接发布: 拒绝;只提供门禁记录。
- 多项不适用: 允许,但须写明为何不适用;不得用「不适用」掩盖未检查。
- 只有「差不多可以了」: 把模糊项标「未知」并建议 No-Go。
- 热修紧急: 走缩短清单(见「3.1 紧急热修」),不可省项仍照常检查;豁免项须写出批准人。若热修涉及数据迁移或多模块改动,不适用缩短清单。
已知限制
- 不验证用户陈述的真实性
- 不访问 CI、集群、配置中心
- 不替代公司变更管理/CAB 流程
- 不保证发版成功
变更说明
- 0.1.1: 新增「3.1 紧急热修:可缩短的清单与不可省的底线」(原扣分点)——把检查项分为不可省(回滚步骤、值班升级路径、变更范围)、可降级为事后补(相关方沟通、文档、监控覆盖)、可标不适用(全量回归、常规窗口)三类;配四条判定规则:豁免必须写出批准人否则仍判 No-Go、涉及数据迁移或多模块改动不适用缩短清单、缩短项数不降低单项标准、决策卡须显式标注热修模式与豁免项。红线补「紧急只影响检查范围,不影响事实」。
- 0.1.0: 首发。把发版前信息整理成 Go/No-Go 检查表与建议结论。