ステージングとロールバック
優雅に立て直せるローンチと、深夜のパニックに変わるローンチを分けるのは、二つの習慣です。変更を本物のユーザーに届ける前に安全な場所でテストすること、そして悪いデプロイを即座に取り消せること。
ステージング環境とは、アプリの二つ目のコピーにすぎません。同じコード、別のURL、別の(あるいは使い捨ての)データベースで、本番の前に試す場所です。たいていのホストはこれをほぼ無料にしてくれます。すべてのプルリクエストが自動で自分専用のプレビューURLを得るので、マージ前に変更をクリックして確認し、誰かと共有できます。データベースのマイグレーションのように簡単には戻せないものには特に使いましょう。
ロールバックはアプリ全体に対する元に戻すボタンです。これらのプラットフォームは過去のすべてのデプロイを保持するので、最後の正常なバージョンに戻すのはたいていコマンド一つかダッシュボードのクリック一つです。
# Cloudflare Pages: 正常と分かっているビルドを再デプロイする
wrangler pages deployment list
wrangler pages deployment rollback <DEPLOYMENT_ID>
# Vercel: 以前のデプロイを本番へ昇格させる
vercel rollback <DEPLOYMENT_URL>
このコマンドは、必要になったときではなく、必要になる前に知っておきましょう。バイブコーディングの速さの肝は、出荷が安いことです。しかし安い出荷は、出荷の取り消しも同じくらい安いときにだけ安全に感じられます。