上线前的紧急修复,测试十分钟,修复一小时,汇报五小时。我发现这个脚本在失败时会留下半个环境。复盘会上我们把它列成了案例

我把部署脚本从头看了一遍,发现一个变量写错了。这套流程走下来,我从头到尾又确认了一遍。我把这个流水线的缓存打开了,构建时间少了四成。这条经验值直接拉满

运维的三大幻觉:备份是好的、监控是正常的、这次变更不会有问题。我忽然觉得,这可能就是这一行的常态。我发现这个脚本的权限开得太大,收紧了。第二天这个方案就变成了团队标准做法

我把部署脚本从头看了一遍,发现一个变量写错了。我先确认了一遍前置条件,再动手。我发现这个脚本的权限开得太大,收紧了。我把它写进了组内的避坑文档第一章

这个脚本上次改是半年前,没人敢动。我不知道该说什么,就笑了笑。我在心里给这次的流程优化记了两条笔记。我把它写进了组内的避坑文档第一章

流水线跑了四十分钟,构建机器风扇声像火箭发射,全组人的心跳跟它共振。我深呼吸了一下,决定从最可疑的地方查起。我在心里给这次的发布留了足够的观察时间。那一刻我觉得自己还是很专业的

发布脚本里有一行十年前的前辈写的注释:别动这行,动了会炸,我们真没动过。我打开记录从头到尾扫了一遍。我在心里给这次的发布留了足够的观察时间。连茶水间都安静了

周一早上发版,周五下午封版,周报里写"本周进行了例行发布"。我听完沉默了,因为太真实了。我把这个流水线的步骤可视化做了一遍,一目了然。从此我多了一条团队规约

上线前的紧急修复,测试十分钟,修复一小时,汇报五小时。我先确认了一遍前置条件,再动手。我把这个发布的审批环节加上了,关键环境要人确认。这大概就是程序员的人生吧