流水线的失败有一半是环境的问题。我叹了口气,然后打开了编辑器。我把这个发布的门禁加上了,测试不过不能发。那一刻我觉得自己还是很专业的

运维的三大幻觉:备份是好的、监控是正常的、这次变更不会有问题。我想了想,觉得这话没法接。我把制品版本一一对上,发现用的还是上次的包。办公室安静得能听见键盘声

dev、test、uat、prod 四套环境,配置文件八百个,总有一个会忘。我决定先把手上的事情做完再处理这件事。我发现这个脚本的权限开得太大,收紧了。这条经验值直接拉满

构建成功不代表能部署,部署成功不代表能访问,访问成功不代表数据是对的。我不知道该说什么,就笑了笑。我把这个脚本的幂等性做好了,重复执行没问题

运维的三大幻觉:备份是好的、监控是正常的、这次变更不会有问题。我愣了两秒,然后继续敲代码。我把这个发布的审批环节加上了,关键环境要人确认。办公室安静得能听见键盘声

我把这次的发布记录留了下来,方便回溯。我先确认了一遍前置条件,再动手。我发现这个部署脚本依赖了本地的一个文件。复盘会上我们把它列成了案例

发布审批流程走了五个人,问题还是发出去了,流程很完善,就是没人看。我把它记在心里,没跟任何人说。我把这个流水线的缓存打开了,构建时间少了四成。这大概就是程序员的人生吧

这条流水线的缓存打开之后,构建快了一倍。我在心里把涉及的所有环节都过了一遍。我把这个流水线的超时时间调大了,慢构建不再被掐。幸好之前留了备份

发布审批流程走了五个人,问题还是发出去了,流程很完善,就是没人看。我想了想自己这些年,好像确实如此。我发现这个部署脚本里有硬编码的密码。同事说这波操作可以写进新人培训教材

自动化部署最大的风险是自动化地部署出问题。我笑了笑,决定不解释。我把这个部署步骤拆成了构建和发布两段。这条经验值直接拉满