デプロイ Rollback 手順

各デプロイ対象ごとの切り戻し方法。

Cloudflare Workers (api/)

直前バージョンへロールバック

cd parky/api
wrangler rollback --env dev          # dev-api.parky.co.jp
wrangler rollback --env prod   # api.parky.co.jp

wrangler deployments list --env <env> で履歴を確認できる。

git ベースで戻す場合

  1. git revert <bad-sha> → push
  2. GitHub Actions が deploy-api-*.yml を実行して前バージョンに戻る

Cloudflare Pages (web/home, web/portal/admin, web/portal/owner, web/portal/marketing, mobileapp/prototype/web)

CLI からの rollback はサポートされていない。Dashboard 操作:

  1. https://dash.cloudflare.com/ → Pages → 対象プロジェクト
  2. Deployments タブで戻したい成功デプロイを選択
  3. 「Rollback to this deployment」

git ベースで戻す場合

  1. git revert <bad-sha> → push
  2. 対応する deploy-*.yml が走って Pages を上書き

Xserver 配下(akari-sensei 等、Parky 外だが参考)

  1. git revert <bad-sha> → push
  2. GitHub Actions の rsync ジョブが旧バージョンを再配置

Supabase migration のロールバック

DB は一般に前方互換で設計している(ALTER TABLE ... ADD COLUMN IF NOT EXISTS 等)ため単純な revert は危険。

  1. 問題のある migration を特定(infra/supabase/migrations/
  2. DOWN migration を新規作成(既存ファイルの削除は禁止)
  3. supabase db push で適用

supabase db reset は dev でのみ使用可。本番では絶対に実行しない。

TODO:

  • 各 env の最新デプロイ sha を記録する仕組み
  • blue/green 化検討
↗ Source markdown (deployment-rollback.md)