~/VibeHandbook
免費 PDF

16 · 05

預釋出環境與回滾

有兩個習慣,把一次能優雅恢復的上線,和一次變成午夜恐慌的上線區分開來:在變更觸達真實使用者之前先在安全的地方測試它,以及能夠即刻撤銷一次糟糕的部署。

一個預釋出(staging)環境只不過是你應用的第二份副本——同樣的程式碼、獨立的 、獨立的(或一次性的)資料庫——一個讓你在生產之前先試一試的地方。大多數託管平臺讓這幾乎免費:每一個 都自動獲得它專屬的預覽 URL,於是你可以在合併之前點過一遍一個變更,並把它分享給某個人。對那些你沒法輕易逆轉的東西——比如一次資料庫遷移——尤其要用它。

把這三個環境想像成一架變更要往上爬的梯子,而回滾就是那根能把生產環境直接落回上一個好梯級的繩子:

   開發  ──▶  預發 / 預覽  ──▶  生產
 (筆記本)    (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>

在你需要它之前就知道這條命令,而不是在故障當中才去找。vibe coding 速度的全部意義在於釋出很便宜——但只有當撤銷釋出同樣便宜時,便宜的釋出才讓人感覺安全。

想離線閱讀?

免費下載整本書的 PDF 或 EPUB。