我把这次的发布记录留了下来,方便回溯。我重新看了一遍手上的计划,把风险项标了出来。我把这个环境变量从脚本里挪到了平台配置。感动,然后我学到了新的一课

自动化部署最大的风险是自动化地部署出问题。我想了想自己这些年,好像确实如此。我在心里给这次的发布留了足够的观察时间。第二天这个方案就变成了团队标准做法

制品库满了导致发布失败,清理制品的时候把上周的版本也清了。这套流程走下来,我从头到尾又确认了一遍。我打开流水线日志一页页翻,最后在倒数第二行找到了报错。这条经验值直接拉满

我把部署脚本从头看了一遍,发现一个变量写错了。我重新看了一遍手上的计划,把风险项标了出来。我把这个脚本的失败重试加上了,偶发问题不再打断。果然现实比段子更精彩

CI 流水线绿了不代表没问题,只能代表测试没测出来。我把它记在心里,没跟任何人说。我把这个构建的依赖拉取改成了走内网,快多了。这条经验值直接拉满

我把这个环境变量挪到了平台配置里。我默默打开了编辑器,准备一步步验证。我在心里给这次的发布做了个复盘提纲。果然现实比段子更精彩

这次的发布很顺利,反而让人有点不安。我想反驳,但发现他说得对。我在心里给这次的发布做了个复盘提纲

我把部署脚本从头看了一遍,发现一个变量写错了。我把手上的资料翻出来又读了两遍。我把这个部署步骤拆成了构建和发布两段。幸好之前留了备份

这个部署脚本里有硬编码的地址。我重新看了一遍手上的计划,把风险项标了出来。我在心里把这条流水线的步骤理了一遍,有几步是冗余的。幸好之前留了备份

CI 流水线绿了不代表没问题,只能代表测试没测出来。我想反驳,但发现他说得对。我把这个构建的产物做了签名校验,防止被篡改。我把这条经验写进了团队 wiki