mcpField
D
deployment-rollback

deployment-rollback

github.com/motormetrics云与 DevOps2267 次安装今天更新
代码仓库

关于 deployment-rollback

用于部署回滚的操作技能,涵盖 Vercel 部署、数据库迁移、Git 变更和缓存失效处理。还提供健康检查、回滚清单及故障排查步骤,帮助团队恢复到已知可用状态。

主要功能

  1. 01通过 Vercel 面板或 CLI 回滚部署
  2. 02回退数据库迁移或恢复备份
  3. 03用 Git 撤销变更或基于版本建分支
  4. 04清除 Next.js 和 Redis 缓存
  5. 05执行健康检查并遵循检查清单

适用场景

  1. 01严重缺陷后回退生产部署
  2. 02从数据库迁移失败中恢复
  3. 03回滚期间检查应用和数据库状态

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/deployment-rollback确认已加载。

详细介绍

部署回滚技能

通过 Vercel 快速回滚

使用 Vercel 控制台
  1. 前往 Vercel 控制台 → 项目 → 部署
  2. 找到之前可正常工作的部署
  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. 记录所有事项:记录发生了什么以及原因

参考资料

评论

支持 Markdown