关于 deployment-rollback
用于部署回滚的操作技能,涵盖 Vercel 部署、数据库迁移、Git 变更和缓存失效处理。还提供健康检查、回滚清单及故障排查步骤,帮助团队恢复到已知可用状态。
主要功能
- 01通过 Vercel 面板或 CLI 回滚部署
- 02回退数据库迁移或恢复备份
- 03用 Git 撤销变更或基于版本建分支
- 04清除 Next.js 和 Redis 缓存
- 05执行健康检查并遵循检查清单
适用场景
- 01严重缺陷后回退生产部署
- 02从数据库迁移失败中恢复
- 03回滚期间检查应用和数据库状态
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ motormetrics/ motormetrics --skill deployment-rollback安装后在 Claude Code 中输入/deployment-rollback确认已加载。
详细介绍
部署回滚技能
通过 Vercel 快速回滚
使用 Vercel 控制台
- 前往 Vercel 控制台 → 项目 → 部署
- 找到之前可正常工作的部署
- 点击三点菜单 →“提升到生产环境”
使用 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
最佳实践
- 始终备份:重大部署前创建数据库备份
- 测试回滚:在预览部署中演练回滚流程
- 功能标志:使用功能标志,无需回滚即可快速禁用功能
- 密切监控:回滚期间及之后查看 Vercel 分析数据
- 记录所有事项:记录发生了什么以及原因
参考资料
- Vercel 回滚:https://vercel.com/docs/deployments/rollbacks
- 请参阅
monitoring技能以排查问题
评论
支持 Markdown