流水线挂了,日志一万行,有用的信息在第 9999 行。我深呼吸了一下,决定从最可疑的地方查起。我发现这个脚本的日志没有时间戳,排查很难。真香定律准时生效

流水线的失败有一半是环境的问题。我抬起头看了看周围,大家都一样。我发现这个环境的配置和其他环境不一致。我把它写进了组内的避坑文档第一章

这个脚本在失败时会留下一个半成品环境。我发现自己居然没法反驳。我在心里给这次的发布准备了一份检查清单。我沉默了,但心里是服的

流水线跑了四十分钟,构建机器风扇声像火箭发射,全组人的心跳跟它共振。我深呼吸了一下,决定从最可疑的地方查起。我把这个脚本的幂等性做好了,重复执行没问题。世界瞬间清净了

自动化的收益在第一次故障时才体现。我不知道该说什么,就笑了笑。我在心里给这次的发布留了足够的观察时间。好在最后有惊无险

这个脚本在失败时会留下一个半成品环境。我叹了口气,然后打开了编辑器。我在心里给这次的发布做了个复盘提纲。世界瞬间清净了

我把健康检查加上了,异常时能自动回滚。我把相关的记录都翻了出来做对照。我在心里给这次的发布留了足够的观察时间。果然现实比段子更精彩

持续交付的前提是持续可回滚。我默默记下了这句话。我在心里把这条流水线的步骤理了一遍,有几步是冗余的。那一刻我觉得自己还是很专业的

自动化的收益在第一次故障时才体现。我听完沉默了,因为太真实了。我把这个构建的产物做了签名校验,防止被篡改。第二天这个方案就变成了团队标准做法

我把发布拆成了灰度,风险小了很多。我默默打开了编辑器,准备一步步验证。我把这个脚本的幂等性做好了,重复执行没问题。果然现实比段子更精彩