用一份清单管住上线前最后十分钟

举报
yd_273909102 发表于 2026/10/30 10:06:40 2026/10/30
【摘要】 上线那天最怕的不是代码有 bug,是十分钟里连着踩三个低级错误:配置没改、依赖版本不对、日志目录不存在。这三件事任何一件单独都不难,但在赶着发的状态下就是会漏。后来我们做了个上线上线前清单,把每一步写成一条可勾选的检查,跑完才能点发布。清单分四段。第一段是环境确认,包括目标环境变量是否指向正确集群、数据库连接串是否用了生产库、以及构建产物的 git commit 是否等于当前分支头。第三项最...

上线那天最怕的不是代码有 bug,是十分钟里连着踩三个低级错误:配置没改、依赖版本不对、日志目录不存在。这三件事任何一件单独都不难,但在赶着发的状态下就是会漏。后来我们做了个上线上线前清单,把每一步写成一条可勾选的检查,跑完才能点发布。清单分四段。第一段是环境确认,包括目标环境变量是否指向正确集群、数据库连接串是否用了生产库、以及构建产物的 git commit 是否等于当前分支头。第三项最容易漏,因为构建机和开发机是两台,改了代码没推就直接打包,上线的其实是旧版本。第二段是依赖与配置,包括锁文件是否被意外改动、关键第三方服务地址是否还是测试域名、以及本次改动涉及的环境变量是否都在目标环境配齐。我们遇到过最坑的一次是新增了一个配置项,本地有默认值所以测试全绿,上线后读不到就崩了。第三段是数据与回滚,包括本次是否包含数据库变更、变更是否有对应回滚脚本、以及回滚后旧代码能否兼容新表结构。第四段是观测,包括关键接口的健康检查地址是否可达、错误日志是否有输出位置、以及告警规则是否已经覆盖本次新增的接口。清单本身不复杂,两百行左右的 shell 脚本加上一份人读的 markdown,重点是两个约束。一是必须能自动判定的就不靠人眼看,比如 commit 一致性、端口连通性、配置项是否存在,这些都写成脚本,返回非零就拦住。二是清单必须能被跳过,但不能被悄悄跳过,跳过要留下记录和原因。最后一条体会是清单的价值不在覆盖多少项,而在于它把发布前的判断从凭记忆变成了可复查的流程。人紧张的时候会忘,脚本不会。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。