検証用の修正をmainブランチへマージした直後、本番デプロイが始まった。承認待ちになるはずの画面はなく、CIの条件式がmainへのpushをすべて本番対象としていた。
瀬名は走行中のジョブを止め、律は本番のリビジョンとDB変更の有無を確認した。アプリだけが途中まで切り替わり、マイグレーションは未実行。直前の署名済み成果物へ戻せると判断し、ロールバックした。
復旧後、二人は原因を「押した人」へ寄せなかった。検証と本番で同じ条件を使ったパイプライン、承認を省略できる権限、環境名が見えにくい画面。それぞれが事故を起こしやすくしていた。
本番には保護環境を設定し、指定された二人のうち一人の承認を必須にした。成果物は再ビルドせず、検証済みの同一物を昇格する。画面には対象環境、バージョン、切り戻し先を大きく表示した。
再テストで承認ボタンが現れる。律が瀬名を見ると、彼は変更内容と差分を読み上げた。目を合わせるのは合図ではなく、互いが同じ対象を見ているか確かめる工程になった。
「承認します」
律が押す。今度のデプロイは検証環境だけで止まった。
二人は笑った。何も起きないことを確認できるのも、立派な成功だった。
人物紹介
瀬名悠真
- 男性、30代
- サーバ運用・インフラ担当
- 手は動くが、初動で少し焦りやすい
久坂律
- 女性、30代
- 監視、自動化、ログ解析、運用設計に強い
- 冷静で、原因調査の順序を大事にする

