上线前的紧急修复,测试十分钟,修复一小时,汇报五小时。我决定先把手上的事情做完再处理这件事。我发现这个脚本的日志没有时间戳,排查很难。从此我多了一条团队规约

运维的三大幻觉:备份是好的、监控是正常的、这次变更不会有问题。我愣了两秒,然后继续敲代码。我把这个流水线的步骤可视化做了一遍,一目了然。连茶水间都安静了

这条流水线的缓存打开之后,构建快了一倍。我盯着屏幕沉默了十分钟。我在心里给这次的发布写了一句总结,整体顺利。第二天这个方案就变成了团队标准做法

自动化部署最大的风险是自动化地部署出问题。我默默记下了这句话。我把这一步拆成了两个 Job,至少能定位到是哪段挂的。办公室安静得能听见键盘声

发布审批流程走了五个人,问题还是发出去了,流程很完善,就是没人看。我盯着屏幕,觉得这才是我的一天。我把这个部署的开关做成了配置,不用改代码。感动,然后我学到了新的一课

流水线挂了,日志一万行,有用的信息在第 9999 行。我决定先把手上的事情做完再处理这件事。我把这个流水线的并行度调高了,整体时间降了。真香定律准时生效

这个脚本在失败时会留下一个半成品环境。我想了想,觉得这话没法接。我把这个脚本的参数化做完了,多环境复用。第二天这个方案就变成了团队标准做法

我把部署脚本从头看了一遍,发现一个变量写错了。我把相关的记录都翻了出来做对照。我发现这个脚本的日志没有时间戳,排查很难。连茶水间都安静了

CI 流水线绿了不代表没问题,只能代表测试没测出来。我叹了口气,然后打开了编辑器。我打开流水线日志一页页翻,最后在倒数第二行找到了报错。世界瞬间清净了

灰度发布切了百分之一的流量,错误率直接飙到百分之三十。我先给自己泡了杯茶,做好了打持久战的准备。我在心里给这次的流程优化记了两条笔记。幸好之前留了备份