01 / DECISION
何時值得加入這個 primitive
Cloudflare 現在建議新專案從 Workers 開始,因此把審查迴圈變成 Workers-native:每個 branch 一個 Preview,實際跑過之後才推上 production。
02 / ARCHITECTURE
建立最小且站得住腳的路徑
在 Wrangler 設定的 previews 區塊宣告 Preview 的 variables、bindings 與 settings,用 Wrangler 指令套用 secrets,把 KV、D1 與 R2 綁到各自的資源,再執行 wrangler preview,或讓 Workers Builds 直接從 pull request 建立 Preview。
- 01先命名 contract
Cloudflare 現在建議新專案從 Workers 開始,因此把審查迴圈變成 Workers-native:每個 branch 一個 Preview,實際跑過之後才推上 production。
- 02只加入一個 primitive
在 Wrangler 設定的 previews 區塊宣告 Preview 的 variables、bindings 與 settings,用 Wrangler 指令套用 secrets,把 KV、D1 與 R2 綁到各自的資源,再執行 wrangler preview,或讓 Workers Builds 直接從 pull request 建立 Preview。
- 03保留 failure evidence
對 Preview URL 送出實際流量、讀取屬於該 Preview 的 logs、errors、metrics 與 traces、確認 stable URL 已跟上最後一次 push,並在推上 production 前檢查它只寫入自己綁定的資源。
03 / REPRODUCE
有證據,再有信心
對 Preview URL 送出實際流量、讀取屬於該 Preview 的 logs、errors、metrics 與 traces、確認 stable URL 已跟上最後一次 push,並在推上 production 前檢查它只寫入自己綁定的資源。
npx wrangler preview # requires Wrangler 4.135.0 or later 04 / BOUNDARY
Production boundary
Cloudflare 會為每個 Preview 配置獨立的 Durable Object namespace 與 container instances,但 KV、D1、R2 等 account 層級資源只有在各自綁定時才真的隔離。Preview URL 預設公開,需要放上 Cloudflare Access 才受保護;每個 Worker 的 Preview 上限為 Free 100 個、Paid 500 個,超過時最舊的會自動刪除。
05 / FIRST-PARTY SOURCES
讓第一方來源保持權威
產品行為、限制、價格與供應狀態會改變;採取行動前請重新核對這些來源。