← ClaudeAtlas

rollbacklisted

当用户要求"回滚/回退/撤销发布"时触发。 按回滚决策树判断回滚方式并执行。
structure-projects/structure-agent-rules · ★ 1 · AI & Automation · score 65
Install: claude install-skill structure-projects/structure-agent-rules
# 回滚(Rollback) > 部署失败 / 异常时按决策树执行回滚。**MUST 用户确认回滚操作**。 ## 前置条件 - 已部署版本出现以下任一情况: - 健康检查失败 - 关键指标异常(错误率飙升 / 延迟突增 / QPS 暴跌) - 用户手动触发回滚 ## 执行步骤 ### 第 1 步:确认回滚触发条件 | 触发条件 | 来源 | 判断 | |---|---|---| | 健康检查失败 | `deployment-verification` 报告 | 服务不可用 | | 关键指标异常 | Prometheus / Grafana 告警 | 错误率 > 阈值 / 延迟 > 阈值 | | 用户手动触发 | 用户指令 | 用户判断需回��� | **MUST 用户确认是否执行回滚。** ### 第 2 步:回滚决策树 ``` 触发回滚 │ ├─ 能否回滚到上一版本? │ │ │ ├─ 是 → 版本回退(推荐) │ │ │ │ │ └─ 数据库是否兼容? │ │ ├─ 是 → 直接回退版本 │ │ └─ 否 → 需同时数据回滚 │ │ │ └─ 否(无可回滚版本)→ 数据回滚 │ │ │ └─ 执行数据库迁移脚本回滚 │ └─ 是否需要 hotfix? ├─ 是 → 回滚后调用 hotfix-release └─ 否 → 回滚后归档 ``` ### 第 3 步:回滚步骤 #### 3.1 确认当前版本 ```bash # 当前运行版本 git describe --tags # 或 kubectl rollout status docker ps --format "{{.Image}}" ``` #### 3.2 选择目标版本 ```bash # 列出最近稳定版本 git tag --sort=-version:refname | head -5 # 或查看 changelog cat changes/changelog/*.md | head -50 ``` **MUST 用户确认目标版本。** #### 3.3 执行回滚 ```bash # 版本回退(按部署平台) # K8s kubectl rollout undo deployment/{x} --to-revision={N} # Docker docker pull {image}:{target-version} docker compose up -d # 传统主机 systemctl stop {service} # 替换二进制 / 包 systemctl start {service} ``` #### 3.4 验证回滚 | 检查项 | 通过标准 | |---|---| | 服务存活 | HTTP `/health` 200 OK | | 关键接口 | 返回正确响应 | | 日志 | 无新 ERROR | | 监控指标 | 恢复正常阈值 | ### 第 4 步:回滚后处理 #### 4.1 创建 retrospective.md 写入 `changes/proposals/<id>/retrospective.md`(或 `change