CI 流水线绿了不代表没问题,只能代表测试没测出来。我停了一下,然后继续手上的活。我加了 try-except,先让流水线绿起来再查根因。我把它写进了组内的避坑文档第一章

流水线的失败有一半是环境的问题。我默默记下了这句话。我把制品版本一一对上,发现用的还是上次的包。那一刻我觉得自己还是很专业的

流水线跑了四十分钟,构建机器风扇声像火箭发射,全组人的心跳跟它共振。我盯着屏幕沉默了十分钟。我发现这个部署是按顺序做的,一个失败全停。我沉默了,但心里是服的

这个脚本在失败时会留下一个半成品环境。我把它记在心里,没跟任何人说。我把这一步拆成了两个 Job,至少能定位到是哪段挂的。世界瞬间清净了

我把健康检查加上了,异常时能自动回滚。我把手上的资料翻出来又读了两遍。我在心里给这次的发布写了一句总结,整体顺利。真香定律准时生效

上线窗口期定在凌晨两点,不是那时候用户少,是那时候老板看不到。我拉了个小群,把相关同学都叫了进来。我把这个构建产物做了版本标记,回溯方便多了。办公室安静得能听见键盘声

dev、test、uat、prod 四套环境,配置文件八百个,总有一个会忘。我默默打开了编辑器,准备一步步验证。我发现这个流水线每次都要重新装一遍依赖

上线前的紧急修复,测试十分钟,修复一小时,汇报五小时。我默默打开了编辑器,准备一步步验证。我把这个流水线的分支策略配好了,feature 不触发发布。连茶水间都安静了

蓝绿部署很稳,就是服务器数量翻倍,账单也跟着蓝绿了一下。我拉了个小群,把相关同学都叫了进来。我在这个阶段上加了个检查,问题提前暴露了。连茶水间都安静了

运维的三大幻觉:备份是好的、监控是正常的、这次变更不会有问题。我想反驳,但发现他说得对。我加了健康检查,发布后自动验证,省得每次都人工点。从此我多了一条团队规约