mcpField
D
deployment-rollback

deployment-rollback

github.com/motormetricsクラウド・DevOps2267 回インストール今日更新
リポジトリ

deployment-rollback について

Vercel のデプロイ、データベースのマイグレーション、Git の変更、キャッシュ無効化を扱うロールバックスキルです。ヘルスチェック、チェックリスト、トラブルシューティング手順も含み、既知の正常状態への復旧を支援します。

主な機能

  1. 01Vercel のダッシュボードまたは CLI でロールバック
  2. 02DB マイグレーションの取り消しやバックアップ復元
  3. 03Git で変更を戻すかリリースからブランチ作成
  4. 04Next.js と Redis のキャッシュを無効化
  5. 05ヘルスチェックと手順書による確認

活用シーン

  1. 01重大な不具合後に本番デプロイを戻す
  2. 02DB マイグレーション失敗から復旧
  3. 03ロールバック中にアプリと DB の状態を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/motormetrics/motormetrics --skill deployment-rollback

インストール後、Claude Code で/deployment-rollbackを入力して読み込まれたか確認します。

詳細

デプロイのロールバックスキル

Vercel でのクイックロールバック

Vercel ダッシュボードを使用する
  1. Vercel ダッシュボード → プロジェクト → デプロイに移動します
  2. 直前に正常に動作していたデプロイを見つけます
  3. 3 点メニュー →「本番環境に昇格」をクリックします
Vercel CLI を使用する
# List recent deployments
vercel list

# Promote a specific deployment to production
vercel promote <deployment-url>

# Or rollback to previous production deployment
vercel rollback

データベースのロールバック

# Rollback last migration
pnpm -F @sgcarstrends/database db:rollback

# Rollback to specific migration
pnpm -F @sgcarstrends/database db:rollback --to 20240115_initial

# Restore from backup
pg_dump $DATABASE_URL > backup-pre-deploy.sql  # Before deploy
psql $DATABASE_URL < backup-pre-deploy.sql     # Restore if needed

Git ベースのロールバック

# Revert specific commit
git revert <commit-hash>
git push origin main  # Triggers Vercel redeploy

# Create rollback branch
git checkout -b rollback/v1.1.0
git reset --hard v1.1.0
git push origin rollback/v1.1.0
gh pr create --title "Rollback to v1.1.0" --body "Emergency rollback"

キャッシュの無効化

# Revalidate Next.js cache
curl -X POST "https://sgcarstrends.com/api/revalidate?tag=all&secret=$REVALIDATE_TOKEN"

# Clear Redis cache
redis-cli -h $REDIS_HOST FLUSHALL

ロールバック中のヘルスチェック

curl -f https://sgcarstrends.com || echo "Web unhealthy"
psql $DATABASE_URL -c "SELECT 1" || echo "Database unreachable"

ロールバックのチェックリスト

ロールバック前:

  • 問題と重大度を特定する
  • 範囲(全体/一部)を判断する
  • バックアップが利用可能か確認する
  • チームに通知する

実行中:

  • Vercel ダッシュボードまたは CLI からロールバックする
  • 必要に応じてデータベースをロールバックする
  • キャッシュをクリアする
  • ヘルスチェックを確認する
  • スモークテストを実行する

実行後:

  • Vercel ダッシュボードでエラー率を監視する
  • 機能が復旧したことを確認する
  • 発生したことを記録する
  • ポストモーテムを作成する

よくあるシナリオ

重大なバグ:

vercel rollback
curl https://sgcarstrends.com/api/health

データベースのマイグレーション失敗:

pnpm -F @sgcarstrends/database db:rollback
git revert HEAD
git push origin main

トラブルシューティング

デプロイのロールバックが機能しない:

# Force redeploy from known good commit
git checkout v1.1.0
vercel --prod

データベースのスキーマ不一致:

pnpm -F @sgcarstrends/database db:rollback
# Or restore backup: psql $DATABASE_URL < backup-pre-deploy.sql

ベストプラクティス

  1. 必ずバックアップする:大規模なデプロイの前にデータベースをバックアップします
  2. ロールバックをテストする:プレビューデプロイでロールバック手順を練習します
  3. 機能フラグ:ロールバックせずに機能をすぐ無効化できるように使用します
  4. 注意深く監視する:ロールバック中と実行後に Vercel の分析情報を確認します
  5. すべてを記録する:何が起きたのか、なぜ起きたのかを記録します

参考資料

コメント