敬畏每一行代码,敬畏每一次变更。
本模板旨在通过结构化、可验证、可回溯的方式,降低发布风险,保障系统稳定。
一、📅 发布基本信息
| 项目 | 内容 |
|---|---|
| 发布名称 | 示例:用户中心 v2.3.0 上线 |
| 发布时间 | 2026-01-15 01:00 -- 02:30 |
| 发布负责人 | xxx |
| 协同人员 | xxx |
| 发布类型 | ✅ 功能上线 / 🔁 配置变更 / 🐞 紧急修复 / ⚙️ 架构调整 |
| 是否灰度发布 | 是 / 否(若"是",说明策略:如 5% → 20% → 100%) |
二、🧩 发布依赖清单(必须全部完成并验证)
✅ 每项依赖需明确负责人、完成状态、验证方式,避免"我以为你做了"。
| 依赖项 | 描述与范围 | 负责人 | 完成状态 | 验证方式 |
|---|---|---|---|---|
| DB 变更(DDL/DML) | 新增 user_profile 表,添加索引 idx_mobile |
xxx | ✅ | DESC user_profile+ 执行计划验证 |
| Nacos 配置更新 | 新增 user-center.feature.new-login=true |
xxx | ✅ | 配置中心截图 + 应用启动日志 |
| MQ Topic 创建 | 新建 user-event-v2,Consumer 已部署 |
xxx | ✅ | RocketMQ 控制台确认 |
| 下游服务兼容 | 通知订单服务适配新用户字段 | xxx | ✅ | 邮件/群聊记录 + 接口 Mock 测试 |
| 网关路由配置 | /api/v2/user/**路由至新服务集群 |
xxx | ⏳ | 待发布后验证 |
| Restful 白名单 | 添加 IP 10.10.5.x/24到白名单 |
xxx | ✅ | 网关日志抽样验证 |
| SQL 脚本地址 | sql-audit.spotter.ink/submitsql/a... | --- | --- | 脚本 ID: SQL-20260115-001 |
| ...... | ...... | ...... | ...... |
💡 SQL 规范提醒:
- 所有 DDL/DML 必须经过 至少一人 Review
- DML 操作必须带
WHERE+LIMIT(如适用)+ 事务包裹 - 不可逆操作(如 DROP COLUMN)需单独评估并提供数据备份
三、⚠️ 影响与风险评估
| 影响维度 | 具体描述 | 风险规避措施 | 负责人 | 是否已确认 |
|---|---|---|---|---|
| API 兼容性 | 新增字段 nick_name,旧客户端可能忽略 |
提前通知下游,接口保持向后兼容 | ...... | ✅ |
| 性能影响 | 新增索引可能短暂锁表(<2s) | 在低峰期执行,监控慢 SQL | ...... | ✅ |
| 用户体验 | 登录流程变更,首次加载略慢 | 增加 loading 提示,前端兜底 | ...... | ✅ |
| 监控覆盖 | 新增埋点 login_v2_success |
已在 Grafana 配置告警看板 | ...... | ✅ |
四、↩️ 回滚策略(失败时快速止损)
原则:任何变更必须可回滚,不可逆操作需提前报备!
| 回滚项 | 回滚方案 | 触发条件 | 执行人 | 可行性 |
|---|---|---|---|---|
| 应用代码 | 回滚至 Git Tag v2.2.1(Commit: a1b2c3d) |
错误率 > 5% 持续5分钟 | 张三 | ✅ 高 |
| Nacos 配置 | 切换回 user-center.feature.new-login=false |
功能异常 | 王五 | ✅ 高 |
| DB 结构 | 不可回滚(仅新增字段) | --- | --- | ⚠️ 仅支持补偿 |
| DB 数据 | 若 DML 出错,使用备份快照 backup_20260114恢复 |
数据污染 | 李四 | ✅ 中(需30min) |
| 网关路由 | 切回旧路由规则 | 服务不可用 | 运维 | ✅ 高 |
📌 回滚后动作:
- 通知所有相关方
- 记录故障时间线
- 24 小时内提交复盘报告
五、📋 发布执行步骤
🕒 发布窗口:2026-01-15 01:00 -- 02:30
▶️ Pre-Release(发布前)
- 所有 CR 完成并通过(PR #1234)
- 预发环境全链路回归测试通过
- 建立发布沟通群,@ 所有关键人员
- ......
▶️ Release(发布中)
- 01:00 -- 执行 DB 变更(李四)
- 01:10 -- 更新 Nacos 配置(王五)
- 01:15 -- 滚动发布应用(张三,按 20% → 50% → 100%)
- 01:40 -- 验证网关路由 & 白名单(运维)
- 01:50 -- 触发核心链路自动化回归(测试)
- ......
▶️ Post-Release(发布后)
-
02:00--02:30:密切观察监控(错误率、延迟、CPU、GC)
-
验证关键业务指标(如登录成功率 ≥ 99.9%)
-
通知产品/运营/下游团队发布完成
-
归档发布记录至 Wiki:[链接]
-
.....
六、✅ 发布成功标准
- 核心功能可用(登录、查询、修改)
- 监控无异常告警(持续 30 分钟)
- 日志无 ERROR/WARN 堆积
- 下游服务调用正常
- ......
预祝发布成功!