都图科技doutoo.com
首页/技术知识/开发实践

上线发布流程:灰度、回滚与值班

开发实践 2026.03.01|约 5 分钟|软件事业部 出品

上线出问题不可怕,可怕的是出问题之后不知道怎么办。一个完整的发布流程,要能回答三个问题:发什么、怎么发、出问题怎么退。

一、发布前:清单与确认

  • 变更内容清单:改了哪些功能、影响哪些模块
  • 数据库变更:脚本、执行顺序、是否可回滚
  • 配置变更:环境变量、开关、第三方配置
  • 依赖检查:新版本是否依赖未上线的其他服务
  • 备份确认:发布前的备份是否完成且可用

二、灰度策略

方式适用注意
按用户比例面向公众的系统先小比例,观察核心指标
按节点分批多实例部署逐台替换,随时可停
功能开关新功能上线开关状态要记录,避免长期遗留
内部先行内部系统先开放给小范围用户试用

三、回滚:必须提前准备好

  1. 回滚触发条件要写明确(错误率、响应时间、功能不可用)
  2. 回滚操作要有步骤卡片,值班人员照着能做
  3. 数据变更的兼容性:新版本写入的数据,旧版本能否读出
  4. 明确谁有权决定回滚
回滚决策要快

犹豫的时间就是故障时间。建议约定一个明确的判断标准(如核心功能不可用超过 5 分钟即回滚),让值班人员不必等审批。

四、值班与沟通

  • 发布期间安排值班人员,明确联系方式
  • 建立发布沟通渠道,发布进展与异常及时同步
  • 涉及用户可感知的变更,提前准备对外说明口径

五、发布后复盘

发布完成后 24 小时内做一次简短回顾:有没有意外、哪一步慢了、清单要不要补项。发布流程的成熟度,是靠一次次复盘打磨出来的。

← 上一篇系统日志规范:让排障少花一半时间