~/VibeHandbook
無料 PDF

16 · 05

ステージングとロールバック

優雅に立て直せるローンチと、深夜のパニックに変わるローンチを分けるのは、二つの習慣です。変更を本物のユーザーに届ける前に安全な場所でテストすること、そして悪いデプロイを即座に取り消せること。

ステージング環境とは、アプリの二つ目のコピーにすぎません。同じコード、別の、別の(あるいは使い捨ての)データベースで、本番の前に試す場所です。たいていのホストはこれをほぼ無料にしてくれます。すべてのプルリクエストが自動で自分専用のプレビューURLを得るので、マージ前に変更をクリックして確認し、誰かと共有できます。データベースのマイグレーションのように簡単には戻せないものには特に使いましょう。

三つの環境を、変更がよじ登るはしごとして思い描いてください。ロールバックは、本番を最後の正常な段へ一気に落とすロープです。

   開発  ──▶  ステージング/プレビュー  ──▶  本番
 (ノートPC)   (PRプレビューURL)        (実ユーザー)
   試す        クリック確認            ライブ
 何でも         共有 · 検証         ┌──────────────┐
                                     │  deploy #42  │ ◀── 現在 (壊れ)
                                     ├──────────────┤
                          ロールバック│  deploy #41  │ ◀── 最後の正常版
                                  │   ├──────────────┤
                                  └──▶│  deploy #40  │
                                     └──────────────┘
                     コマンド一つ / クリック一つ = 即座に取消

ロールバックはアプリ全体に対する元に戻すボタンです。これらのプラットフォームは過去のすべてのデプロイを保持するので、最後の正常なバージョンに戻すのはたいていコマンド一つかダッシュボードのクリック一つです。

# Cloudflare Pages: 正常と分かっているビルドを再デプロイする
wrangler pages deployment list
wrangler pages deployment rollback <DEPLOYMENT_ID>

# Vercel: 以前のデプロイを本番へ昇格させる
vercel rollback <DEPLOYMENT_URL>

このコマンドは、必要になったときではなく、必要になるに知っておきましょう。バイブコーディングの速さの肝は、出荷が安いことです。しかし安い出荷は、出荷の取り消しも同じくらい安いときにだけ安全に感じられます。

オフラインでも読みたい?

本編まるごとを PDF または EPUB で無料ダウンロード。