每次部署發生了什麼?
Step 1:wrangler 上傳整個部署目錄(約 52 個檔案)
⬇
Step 2:Cloudflare 建立新的 Deployment(唯一 ID,如
2529b357)
⬇
Step 3:Production 域名 wholistics.pages.dev 自動指向最新 Deployment
⬇
Step 4:舊的 Deployment 仍佔空間,不會自動刪除
每次部署都是全新上傳,不是差異更新。即使只改了 1 個檔案,整個目錄的 52 個檔案都會重新上傳。
常見誤解 vs 正確理解
| 常見誤解 | 正確理解 |
|---|---|
| 每次部署覆蓋同一個子站 | 每次產生不同的 Deployment ID |
| 子站名稱固定不變 | 每個 Deployment 有唯一 ID(如 a80a6c15、2529b357) |
| 舊的檔案會自動被替換 | 舊的 Deployment 永久保留,佔用空間 |
| 部署失敗會回滾到舊版 | Production 自動指向最新成功版本,舊版仍可獨立訪問 |
Production 域名指向機制
- wholistics.pages.dev(無前綴)= Production 入口,永遠指向上線版本
- 新 Deployment 成功後,Cloudflare 自動切換 Production 指向
-
舊的
xxx.wholistics.pages.dev仍可訪問(用於回溯查看),但 Production 不再指向它們 - 使用者無感知切換,打開的就是最新版本
免費方案空間限制
- 檔案數量限制是所有 Deployment 累加的,不是單次計算
- 每次部署 52 個檔案,舊的不刪,持續累積
- 累積超過約 500 個檔案後,新部署會回報成功但不實際生效
記得每天刪除舊的檔案,只保留最近的三次更新結果。到 Cloudflare Dashboard → Pages → wholistics → Deployments,手動刪除較舊的 Deployment,清出空間。
以每次 52 個檔案計算,約 10 次部署就會接近上限。務必定期清理!
部署指令(穩定可用)
cd C:\Users\Administrator\WorkBuddy\wh-all-deploy
$env:CLOUDFLARE_API_TOKEN = [Environment]::GetEnvironmentVariable("CF_API_TOKEN", "User")
$env:CLOUDFLARE_ACCOUNT_ID = "2f2795bc4a98928375b23c36140ba33b"
npx wrangler pages deploy . --project-name wholistics --commit-dirty true
API Token 存於 Windows 環境變數(User scope),不需在指令中明碼輸入。
日常清理步驟
- 開啟 Cloudflare Dashboard
- 進入 Workers & Pages → wholistics → Deployments
- 只保留最近 3 次 Deployment,刪除其餘舊的
- 確認 Production 仍指向最新版本
刪除舊 Deployment 不影響 Production 運作,只影響舊版本的回溯訪問。