Files
ai-proj-helper/skills-dev/deploy-rollback-plugin/skills/SKILL.md
John Qiu 3706d7f32d feat(skill): REQ-20260406-0004 技能三层分离重构(7主线+16插件)
批次1: req-prd 瘦身 + req-design 重定位 + dev-coding 聚焦
批次2: dev-review 新建 + review-checklist 插件
批次3: dev-integration 新建 + req-compare 拆出
批次4: 插件完善 (req-research/db-migration/dev-scaffold/deploy-rollback)
批次5: 平台拆分 (dev-ios/dev-android/dev-mcp/dev-pda) + dev 分组更新
批次6: marketplace.json 32→44 plugins

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 17:44:08 +09:30

2.4 KiB
Raw Blame History

name, description
name description
deploy-rollback 回滚方案插件。部署后发现问题时的回滚策略和执行步骤。挂载在 deploy 阶段,部署出问题时激活。

回滚方案插件 (deploy-rollback)

概述

当生产部署后发现问题时,提供结构化的回滚决策和执行步骤。

触发条件

  • 部署后健康检查失败
  • 部署后用户报告问题
  • 部署后监控告警

回滚决策树

问题发现
├── 服务完全不可用?
│   └── YES → 立即回滚(紧急)
├── 核心功能异常?
│   └── YES → 评估影响范围 → 回滚或热修复
├── 非核心功能异常?
│   └── 评估修复时间
│       ├── < 30 分钟 → 热修复
│       └── > 30 分钟 → 回滚
└── 性能下降?
    ├── 严重(>5x → 回滚
    └── 轻微(<2x → 监控 + 排期修复

回滚类型

1. Docker 镜像回滚(最常用)

# 查看历史镜像
docker images | grep ai-proj

# 回滚到上一版本
cd deploy
# 修改 docker-compose.prod.yml 中的镜像 tag
docker compose -f docker-compose.prod.yml up -d

# 验证
curl -s http://localhost:8080/health | jq .

2. 数据库回滚

# 执行 down migration
cd backend
migrate -path migrations -database "$DB_URL" down 1

# 验证表结构
psql -U user -d db -c "\d affected_table"

注意:数据库回滚可能导致数据丢失,必须先评估影响。

3. 配置回滚

# 恢复旧配置
git checkout HEAD~1 -- deploy/config/
docker compose -f docker-compose.prod.yml restart

回滚检查清单

  • 确认问题现象和影响范围
  • 通知相关人员(用户需知道在维护中)
  • 执行回滚操作
  • 验证服务恢复正常
  • 验证数据完整性
  • 记录回滚原因和过程
  • 创建修复任务

回滚记录模板

## 回滚记录

**时间**: YYYY-MM-DD HH:mm
**触发原因**: [问题描述]
**影响范围**: [受影响的功能/用户]
**回滚类型**: Docker 镜像 / 数据库 / 配置
**回滚操作**: [具体步骤]
**恢复确认**: [验证结果]
**根因分析**: [问题根因]
**修复计划**: [后续修复方案]

预防措施

  • 部署前确保 Migration 有 down.sql
  • 部署前确保 Docker 保留上一版本镜像
  • 大变更使用灰度发布
  • 监控关键指标错误率、延迟、CPU/内存)