慌乱的四十分钟.

发布之后五分钟,错误率开始上升。决定回滚只用了一分钟,执行回滚却花了四十分钟。

时间都去哪了?翻提交记录,确认哪一个版本是上线过并且稳定的;确认构建产物还在不在;确认回滚之后数据库迁移要不要一起退。

问题不在工具.

我们有完整的部署脚本,也有版本标签。缺的是一个东西:一条能立刻回答「现在应该回到哪里」的记录。

事后加上了:每次成功发布,把版本号写进一个文件,附上时间和提交哈希。回滚时先读它。

下周.

在预发环境上演练一次回滚,掐表。目标是五分钟以内,且不需要任何人翻聊天记录。