← ClaudeAtlas

forge-rollbacklisted

Use when safely rolling back failed deployments, reverting database schema migrations, executing emergency hotfixes, or producing RCA incident reports.
gldu/dev-forge · ★ 1 · AI & Automation · score 62
Install: claude install-skill gldu/dev-forge
# forge-rollback — 线上故障回滚与 RCA 复盘 ## Goal 在发布失败或发生线上故障时,安全撤销异常变更、执行数据库 Migration 回滚、快速上线 Hotfix 并产出 Root Cause Analysis (RCA) 故障复盘报告。 ## 触发条件 - **何时触发**:发布失败 / 线上服务异常 / DB 迁移失败 / 出现需要紧急止血的故障(安全漏洞、数据损坏、大规模功能异常)时直接触发本 skill,线上止血优先于现场修复。 - **何时不该触发**:本地 / 开发环境 bug、测试失败、未上线的代码缺陷 → 不属于线上故障,转 `forge-fix` 走 RED → GREEN → REFACTOR 常规修复流程,本 skill 不介入。 ## 故障处置决策表 面对线上故障先按下表**三选一**定处置路��,再进入对应 Workflow: | 场景 | 处置 | 负责 skill | |---|---|---| | 数据损坏 / 安全漏洞 / 大规模功能异常 | **回滚**至上一已知稳定版本(本 skill 主路径) | `forge-rollback` | | 小范围 bug 且已有快速补丁方案 | **热修**:从稳定 tag 切 hotfix 分支,修复后直接部署 | `forge-rollback` 统筹,补丁走 `forge-fix` | | 配置漂移 / 环境问题(代码本身无缺陷) | **重部署**:核对配置与环境后重新部署同版本,不回滚代码 | `forge-rollback` 确认,重部署由运维 / 平台侧执行 | > 判定规则:先确认**根因是否在代码**——代码缺陷且影响面大 → 回滚;代码缺陷且影响面小 → 热修;代码无缺陷(配置 / 环境 / 依赖漂移)→ 重部署。 ## Workflow ### 1. 紧急安全回滚 (Emergency Rollback) **前置确认(执行回滚前必做)**: 1. 确认**当前线上版本号**(`git describe` / 发布记录 / 容器镜像 tag)。 2. 确认**目标稳定版本**:选择受影响范围最小的上一已知稳定版本。 3. 确认**DB 迁移文件 up/down 状态**:核对迁移文件存在可逆 `down` 脚本(R4.5),明确目标版本对应的 schema 状态后再执行。 随后执行回滚: 1. 确认线上异常范围与影响面。 2. 回滚 Commit 或发布版本至上一已知稳定版本。 3. **数据库 Migration 回滚**:若变更涉及 DB Schema,执行对应迁移文件的 `down` 脚本,恢复数据一致性。 ### 2. 紧急修补路径 (Hotfix Fast-track) 若无法直接回滚,走最小化修补: 1. 从稳定 tag 切出 hotfix 分支。 2. 走 `forge-fix` 编写重现测试并应用最小补丁。 3. 跑通快速测试集后直接部署。 ### 3. RCA 故障复盘报告 (Root Cause Analysis) 故障平息后,生成 RCA 复盘报告: 1. **故障时间线**:触发时间、发现时间、止血时间。 2. **根本原因 (Root Cause)**:触发故障的技术与流程诱因。 3. **改进措施 (Action Items)**:防止同类故障再次发生的措施。 4. **沉淀到 LESSONS**:将 RCA 核心教训写入 `.specs/LESSONS.md`。