Anoy Backstage v0.3
internal 2 日前に更新 · 山野

Cloudflare Pages playbook

Pages プロジェクトの作成、Access ポリシーの順序、ロールバック手順までを一気通貫で。

API でプロジェクトを作る

差分管理がしやすいので、ダッシュボードを使わず API で完結させる。Account ID と Pages 用の API トークンを環境変数に入れておけば、リポジトリと一対一で再現できる。

curl -X POST \
  "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/pages/projects" \
  -H "Authorization: Bearer $CF_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "name": "anoy-03", "production_branch": "main" }'

Access ポリシーの順序

先に Bypass、次に Allow。順番が逆だと Bypass が効かない。

PathDecisionIdentity
/_assets/*BypassEveryone
/<proj>/public/*BypassEveryone
/Allow@anoy.jp
/<proj>/internal/*Allow@anoy.jp
注意. Custom Domain を後から追加した場合、Access ポリシーは自動継承されない。明示的に再割り当てが必要。

デプロイの確認

初回 push 後、ビルドが https://<branch>.anoy-03.pages.dev に上がる。本番反映は GitHub Actions の deploy-prod.yml 経由で main ブランチ push をトリガに動く。所要時間は約 60〜90 秒。

ロールバック

Cloudflare ダッシュボード → Pages → 該当プロジェクト → Deployments タブから、過去のビルドを選んで「Rollback」。DNS は触らずに切替可能。GitHub の commit を revert する必要はない(ただし次のデプロイでまた同じバグが復活するので、必ず revert PR も同時に出すこと)。