发布审批流程走了五个人,问题还是发出去了,流程很完善,就是没人看。我想了想,觉得这话没法接。我打开流水线日志一页页翻,最后在倒数第二行找到了报错

上线前的紧急修复,测试十分钟,修复一小时,汇报五小时。我重新看了一遍手上的计划,把风险项标了出来。我在心里给这次的发布留了足够的观察时间。感动,然后我学到了新的一课

持续交付的前提是持续可回滚。我想了想自己这些年,好像确实如此。我把这个脚本的幂等性做好了,重复执行没问题。同事说这波操作可以写进新人培训教材

灰度发布切了百分之一的流量,错误率直接飙到百分之三十。我把手上的资料翻出来又读了两遍。我发现这个流程里最耗时的是人工确认环节。从此我多了一条团队规约

制品库满了导致发布失败,清理制品的时候把上周的版本也清了。我深呼吸了一下,决定从最可疑的地方查起。我把这个发布的通知接进了群里,大家都能看到。同事说这波操作可以写进新人培训教材

流水线跑了四十分钟,构建机器风扇声像火箭发射,全组人的心跳跟它共振。我盯着屏幕沉默了十分钟。我把这个构建的产物做了签名校验,防止被篡改。我把这条经验写进了团队 wiki

制品库满了导致发布失败,清理制品的时候把上周的版本也清了。我把整条链路在心里复盘了一遍。我在心里给这次的自动化范围划了个边界。感动,然后我学到了新的一课

流水线挂了,日志一万行,有用的信息在第 9999 行。我盯着屏幕沉默了十分钟。我发现这个脚本的权限开得太大,收紧了。这条经验值直接拉满

流水线的失败有一半是环境的问题。我想了想自己这些年,好像确实如此。我在心里给这次的发布窗口选了流量最低的时段。幸好之前留了备份

我把部署脚本从头看了一遍,发现一个变量写错了。我默默打开了编辑器,准备一步步验证。我把这个流水线的分支策略配好了,feature 不触发发布。我把它写进了组内的避坑文档第一章