BoardGameMatch 協作方案

目標:在您的 Cloudflare 帳號下建一個 Staging 環境,讓雙方都能在上正式前看到、測試最新功能。

做法:GitHub Actions 自動部署 — 推 staging 分支部署到測試站,推 main 部署到正式站。

您需要做的:給 GitHub Write 權限 + 建一個 Cloudflare API Token + 設定 staging DNS。其餘由 Wake 處理。

1 環境架構

您的 Cloudflare 帳號

Production

Worker + D1

boardgamematch.com.tw

Staging

Worker + D1

staging.boardgamematch.com.tw
Production 定期同步資料 Staging
push main
push staging

GitHub Repo

main ← staging ← feature/* / fix/*

兩個環境完全隔離。Staging 資料庫定期從 Production 同步,用真實資料測試。

2 開發流程

1

staging 開 feature 分支開發

2

完成後 PR → staging自動部署到測試環境

3

在 staging 網址驗收確認

4

通過後 PR → main自動部署到正式環境

3 改善對比

現在改善後
測試環境各自獨立,資料不通共用 Staging,真實資料
驗收等上正式才看得到staging 網址即時看
部署手動 wrangler deployGit push 自動部署
風險改完直接上正式staging 驗收後才上

4 需要您完成的事項

GitHub repo 加 wake 為 Collaborator(Write)
Cloudflare 建立 API Token(見下方步驟)
將 Token 設為 GitHub repo Secret:CF_API_TOKEN
設定 staging.boardgamematch.com.tw DNS
建立 Staging D1 / Worker / GitHub ActionsWake

5 Cloudflare API Token 建立步驟

  1. Cloudflare Dashboard → 右上角頭像 → My ProfileAPI Tokens
  2. Create Token → 最下方 Create Custom Token
  3. 權限設定三組:
    Account — Workers Scripts — Edit
    Account — D1 — Edit
    Account — Cloudflare Pages — Edit
  4. Account Resources → Include — Specific account → 選您自己的帳號
  5. Create Token → 複製 Token(只顯示一次)
  6. GitHub repo → Settings → Secrets → Actions → New secret
    Name: CF_API_TOKEN,Value: 貼上 Token

? 安全 Q&A

Write 權限安全嗎? — 搭配 main 分支保護,所有進正式的變更都需要您 review 通過。

API Token 安全嗎? — 加密存在 GitHub Secrets,權限限定 Workers + D1 + Pages,不影響帳號其他資源。

Staging 會影響正式嗎? — 完全獨立的 Worker + D1 + 網域,零交集。

額外費用? — Cloudflare Free Plan 足夠,不產生費用。