pm-release

star 21

Use when: 风险管控完成后准备上线发布、需要制定上线检查清单与回滚方案、正式发版流程 Do NOT use when: 上线流程已标准化且由运维自动化执行、仅需简单发布无需检查清单

konglong87 By konglong87 schedule Updated 5/31/2026

name: pm-release description: | Use when: 风险管控完成后准备上线发布、需要制定上线检查清单与回滚方案、正式发版流程 Do NOT use when: 上线流程已标准化且由运维自动化执行、仅需简单发布无需检查清单 allowed-tools: - Agent - Read - Write - AskUserQuestion - Bash

Preamble

bash "$(dirname "${BASH_SOURCE[0]}")"/check-update.sh 2>/dev/null || true
# 读取技能包版本号
SKILL_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)" || true
if [ -f "$SKILL_ROOT/VERSION" ]; then echo "📦 super-pm $(cat "$SKILL_ROOT/VERSION")"; fi
mkdir -p docs/04-风控管理

echo "🚀 上线执行方案制定工具已启动"

执行流程

步骤 1: 确定上线策略

使用 AskUserQuestion:

📦 上线策略选择

选择本次上线的方式:

A) 全量发布(一次性上线所有用户) B) 灰度发布(逐步放开用户比例) C) 蓝绿部署(新旧版本并行) D) 金丝雀发布(小流量验证)

继续询问:

🌍 环境部署策略

需要在哪些环境部署?

A) 仅生产环境 B) 测试环境 → 生产环境 C) 开发环境 → 测试环境 → 预发布环境 → 生产环境 D) 自定义环境流程

步骤 2: 制定上线检查清单

使用 AskUserQuestion:

✅ 上线检查项

必须检查哪些项目?(可多选)

A) 功能测试(核心功能验证) B) 性能测试(压力测试、容量验证) C) 安全检查(漏洞扫描、权限验证) D) 兼容性测试(多端、多浏览器) E) 数据备份(数据库、配置文件) F) 监控告警(日志、指标、告警规则) G) 文档完备(用户手册、运维文档) H) 全部检查

步骤 3: 规划发布时间

使用 AskUserQuestion:

⏰ 发布时间窗口

选择合适的发布时间:

A) 工作日白天(便于快速响应问题) B) 工作日夜间(用户量少,影响小) C) 周末夜间(最低峰时段) D) 根据业务特点灵活选择

继续询问:

📅 发布节奏

发布频率是?

A) 单次发布(一次性完成) B) 分阶段发布(多个版本逐步上线) C) 持续发布(多次迭代,持续优化)

步骤 4: 设计回滚方案

使用 AskUserQuestion:

🔙 回滚触发条件

什么情况下需要回滚?

A) 严重Bug导致功能不可用 B) 性能严重下降(响应时间、错误率) C) 用户投诉激增 D) 数据异常(关键指标暴跌) E) 以上全部情况

继续询问:

⏱️ 回滚时间要求

从决定回滚到完成回滚,最长可接受时间:

A) 5分钟内(快速回滚) B) 15分钟内(标准回滚) C) 30分钟内(慢速回滚) D) 1小时内(可接受)

步骤 5: 规划通知机制

使用 AskUserQuestion:

📢 上线通知对象

需要通知哪些人?(可多选)

A) 内部团队(产品、研发、测试、运营) B) 管理层(项目发起人、部门负责人) C) 外部用户(发布公告、更新日志) D) 合作伙伴(第三方服务、渠道方) E) 客服团队(提前准备FAQ)

步骤 6: 生成上线执行方案

使用 Write 工具生成 docs/04-风控管理/上线执行方案.md


Subagent 并行加速(v2.0.0 新增)

利用 Agent 工具并行执行独立子任务,大幅缩短总执行时间。

可并行子任务

当步骤1-3的用户信息收集完成后,以下两个任务可以并行执行:

子任务 说明
检查清单编排 基于上线策略和检查项,自动生成完整上线检查清单
回滚方案设计 根据回滚触发条件和时间要求,输出回滚操作步骤

触发方式

在步骤6生成文档前,使用 Agent 工具激活子任务并行执行。

V1 vs V2 对比

维度 V1.1.0(串行) V2.0.0(Subagent并行) 节省
检查清单 用户逐一确认检查项 Agent并行生成完整清单 约3轮交互
回滚方案 依次询问回滚细节 Agent自动输出回滚步骤 约2轮交互
通知机制设计 逐个问询通知对象 Agent并行编排通知方案 约2轮交互
总交互轮次 约12-15轮 约6-8轮 减少50%+
耗时估算 12-18分钟 6-9分钟 节省约8分钟

输出文件

上线执行方案 → docs/04-风控管理/上线执行方案.md


输出文档模板

# 上线执行方案

## 一、上线概况

- **上线策略**: [从步骤1提取]
- **环境部署**: [从步骤1提取]
- **发布时间**: [从步骤3提取]
- **回滚要求**: [从步骤4提取]
- **生成时间**: [当前时间]

---

## 二、上线策略

### 2.1 发布方式

**策略**: [从步骤1提取]

**选择理由**:
- [说明为什么选择此策略]
- [适用的场景]

### 2.2 灰度发布计划(如适用)

**阶段划分**:
- **阶段1**: 1% 用户(内部用户、白名单)
- **阶段2**: 10% 用户(观察期:24小时)
- **阶段3**: 50% 用户(观察期:12小时)
- **阶段4**: 100% 用户(全量发布)

**观察指标**:
- 错误率 < 1%
- 平均响应时间 < 500ms
- 用户投诉数 < 5起/小时

### 2.3 蓝绿部署方案(如适用)

**环境准备**:
- Blue环境:当前生产版本
- Green环境:新版本

**切换流程**:
1. 部署Green环境
2. 健康检查通过
3. 切换流量到Green
4. Blue环境待命(可快速回滚)

---

## 三、上线检查清单

### 3.1 功能测试

| 检查项 | 验收标准 | 负责人 | 状态 |
|--------|---------|--------|------|
| 核心功能验证 | 所有P0功能正常 | 测试负责人 | ⏳ 待测试 |
| 边界条件测试 | 异常情况处理正确 | 测试负责人 | ⏳ 待测试 |
| 兼容性测试 | 主流浏览器、设备正常 | 测试负责人 | ⏳ 待测试 |
| 回归测试 | 无严重Bug | 测试负责人 | ⏳ 待测试 |

### 3.2 性能测试

| 检查项 | 验收标准 | 负责人 | 状态 |
|--------|---------|--------|------|
| 压力测试 | 支持[XX]并发用户 | 性能工程师 | ⏳ 待测试 |
| 容量验证 | CPU < 70%,内存 < 80% | 运维工程师 | ⏳ 待验证 |
| 响应时间 | 平均 < 500ms,P99 < 2s | 性能工程师 | ⏳ 待测试 |
| 数据库性能 | 慢查询 < 1% | DBA | ⏳ 待验证 |

### 3.3 安全检查

| 检查项 | 验收标准 | 负责人 | 状态 |
|--------|---------|--------|------|
| 漏洞扫描 | 无高危漏洞 | 安全工程师 | ⏳ 待扫描 |
| 权限验证 | 越权访问测试通过 | 安全工程师 | ⏳ 待验证 |
| 数据加密 | 敏感数据加密存储 | 研发负责人 | ⏳ 待确认 |
| 日志脱敏 | 日志中无明文敏感信息 | 研发负责人 | ⏳ 待确认 |

### 3.4 数据备份

| 检查项 | 验收标准 | 负责人 | 状态 |
|--------|---------|--------|------|
| 数据库备份 | 全量备份完成 | DBA | ⏳ 待备份 |
| 配置文件备份 | 配置已备份到Git | 运维工程师 | ⏳ 待备份 |
| 回滚脚本准备 | 回滚脚本验证通过 | 研发负责人 | ⏳ 待准备 |

### 3.5 监控告警

| 检查项 | 验收标准 | 负责人 | 状态 |
|--------|---------|--------|------|
| 日志监控 | 日志正常输出 | 运维工程师 | ⏳ 待验证 |
| 指标监控 | Grafana面板配置完成 | 运维工程师 | ⏳ 待配置 |
| 告警规则 | 关键指标告警配置完成 | 运维工程师 | ⏳ 待配置 |
| 值班人员 | 上线期间有人值班 | 项目经理 | ⏳ 待安排 |

### 3.6 文档完备

| 检查项 | 验收标准 | 负责人 | 状态 |
|--------|---------|--------|------|
| 用户手册 | 更新用户操作文档 | 产品负责人 | ⏳ 待完成 |
| 运维文档 | 更新部署、配置文档 | 运维工程师 | ⏳ 待完成 |
| API文档 | 更新接口文档 | 研发负责人 | ⏳ 待完成 |
| 更新日志 | CHANGELOG已更新 | 产品负责人 | ⏳ 待完成 |

---

## 四、发布时间规划

### 4.1 发布时间窗口

**发布日期**: [YYYY-MM-DD]
**发布时间**: [HH:MM]
**预计时长**: [XX]小时

**选择理由**:
- [为什么选择这个时间]
- [用户访问低峰期/业务低峰期]

### 4.2 发布时间线

| 时间 | 任务 | 负责人 | 预计时长 |
|------|------|--------|---------|
| T-2h | 最终检查清单确认 | 项目经理 | 30分钟 |
| T-1h | 团队就位,最后一次同步 | 项目经理 | 15分钟 |
| T-0 | 开始上线 | 运维工程师 | - |
| T+0.5h | 环境部署、配置更新 | 运维工程师 | 30分钟 |
| T+1h | 功能验证(冒烟测试) | 测试负责人 | 30分钟 |
| T+1.5h | 监控指标观察 | 运维工程师 | 30分钟 |
| T+2h | 发布通知 | 产品负责人 | 15分钟 |
| T+4h | 灰度放开至10%(如适用) | 运维工程师 | - |
| T+24h | 全量发布完成 | 项目经理 | - |

---

## 五、回滚方案

### 5.1 回滚触发条件

**立即回滚**(红色预警):
- ✅ 严重Bug导致核心功能不可用
- ✅ 错误率 > 5%
- ✅ 响应时间 > 5s
- ✅ 数据丢失或损坏

**评估后回滚**(黄色预警):
- ⚠️ 性能下降明显(响应时间 > 1s)
- ⚠️ 用户投诉 > 10起/小时
- ⚠️ 关键指标下降 > 20%

### 5.2 回滚流程

发现问题 → 评估严重程度 → 决定是否回滚 ↓ 通知相关人员(项目经理、技术负责人) ↓ 执行回滚操作 ↓ 验证回滚成功 ↓ 复盘分析


### 5.3 回滚操作步骤

#### 方式1:代码回滚

```bash
# 1. 切换到稳定版本分支
git checkout [稳定版本tag]

# 2. 重新构建
npm run build

# 3. 部署
kubectl set image deployment/app app=[新镜像]

# 4. 验证
curl -I https://app.example.com/health

方式2:数据库回滚

# 1. 停止应用写入
kubectl scale deployment/app --replicas=0

# 2. 恢复数据库
mysql -u root -p < /backup/backup_YYYYMMDD.sql

# 3. 验证数据完整性
mysql -u root -p -e "SELECT COUNT(*) FROM users;"

# 4. 重启应用
kubectl scale deployment/app --replicas=3

方式3:配置回滚

# 1. 恢复配置文件
kubectl rollout undo deployment/app

# 2. 验证配置
kubectl get configmap app-config -o yaml

# 3. 重启应用
kubectl rollout restart deployment/app

5.4 回滚时间要求

目标: [从步骤4提取]

快速回滚清单:

  • 回滚脚本已准备并验证
  • 数据库备份可快速恢复
  • 配置文件版本化管理
  • 回滚演练已进行

六、通知机制

6.1 上线前通知

通知时间: 上线前[XX]小时

通知对象: [从步骤5提取]

通知内容:

【上线通知】
项目:[项目名称]
版本:[版本号]
时间:[YYYY-MM-DD HH:MM]
变更内容:[简要说明]
影响范围:[用户/功能]
联系人:[姓名+电话]

6.2 上线中通知

通知节点:

  • 上线开始
  • 关键步骤完成
  • 遇到问题
  • 上线完成

通知渠道:

  • 项目群(实时同步)
  • 邮件(重要节点)
  • 短信(紧急情况)

6.3 上线后通知

通知时间: 上线完成后[XX]小时内

通知对象:

  • 内部团队(项目群)
  • 管理层(邮件)
  • 外部用户(公告、推送)
  • 客服团队(FAQ文档)

通知内容:

【上线成功通知】
项目:[项目名称]
版本:[版本号]
上线时间:[YYYY-MM-DD HH:MM]
新增功能:[功能列表]
优化改进:[改进点]
问题修复:[修复内容]
已知问题:[如有]
反馈渠道:[联系方式]

七、监控与告警

7.1 监控指标

应用层:

  • 请求量(QPS)
  • 错误率(5xx比例)
  • 响应时间(P50、P95、P99)
  • 并发数

系统层:

  • CPU使用率
  • 内存使用率
  • 磁盘I/O
  • 网络流量

业务层:

  • 用户活跃数
  • 核心功能使用率
  • 转化率
  • 客单价

7.2 告警规则

指标 阈值 级别 通知方式
错误率 > 1% 黄色 项目群
错误率 > 5% 红色 电话+项目群
响应时间 > 2s 黄色 项目群
CPU使用率 > 80% 黄色 项目群
内存使用率 > 90% 红色 电话+项目群

7.3 监控面板

监控工具: Grafana / 阿里云监控 / 自建监控

监控看板:

  • 实时流量看板
  • 错误监控看板
  • 性能监控看板
  • 业务指标看板

八、应急响应

8.1 应急联系人

角色 姓名 电话 职责
项目经理 [姓名] [电话] 总协调
技术负责人 [姓名] [电话] 技术决策
运维负责人 [姓名] [电话] 系统运维
测试负责人 [姓名] [电话] 质量保障
产品负责人 [姓名] [电话] 业务决策

8.2 应急响应流程

发现问题 → 初步评估(5分钟内)
  ↓
通知相关人员 → 问题定位(15分钟内)
  ↓
制定方案 → 方案执行(30分钟内)
  ↓
验证结果 → 问题解决
  ↓
复盘总结

8.3 问题分级

P0 - 致命问题:

  • 核心功能不可用
  • 数据丢失
  • 安全漏洞

响应: 立即处理,所有人停下手头工作

P1 - 严重问题:

  • 主要功能异常
  • 性能严重下降
  • 影响大量用户

响应: 1小时内处理,指定专人负责

P2 - 一般问题:

  • 次要功能异常
  • 影响少量用户

响应: 24小时内处理,排入迭代计划


九、上线复盘

9.1 复盘时间

复盘会议: 上线后[XX]天内

参与者:

  • 项目经理
  • 技术负责人
  • 测试负责人
  • 产品负责人
  • 运维负责人

9.2 复盘内容

过程回顾:

  • 上线流程是否顺畅
  • 检查清单是否完备
  • 协作是否高效

问题分析:

  • 遇到了哪些问题
  • 问题原因分析
  • 如何避免类似问题

改进措施:

  • 流程优化建议
  • 工具改进建议
  • 文档完善建议

9.3 复盘输出

复盘报告:

  • 上线概况
  • 问题清单
  • 改进措施
  • 经验总结

十、下一步建议

建议执行:

  1. /pm-change(建立变更管理机制)
  2. /pm-retro(进行迭代复盘)
  3. /pm-roadmap(更新产品路线图)

输出质量对比

✅ Good 示例

- 有数据引用:「根据 Q4 数据,留存率从 35% 降至 28%」
- 有验证来源:「数据来源:Google Analytics, 2025-12-01」
- 有明确建议:「建议将新手引导步骤从 5 步减少至 3 步」

❌ Bad 示例

- 模糊结论:「数据表明留存率有所下降」
- 无来源:「根据经验,这个功能很重要」
- 没有行动建议:「留存是个问题」

常见误区 / Red Flags — STOP

出现以下情况立即停止并回溯:

误区 正确做法
使用"应该"、"大概"、"看起来"做结论 必须基于实际数据和验证
未运行检查就声称已完成 先验证,再陈述
因时间紧迫跳过关键步骤 没有例外,时间紧更要严格
"这次应该没问题"的想法 每次都要重新验证

产出质量检查 / Verification Checklist

  • 前置依赖已满足(输入文档/数据已收集)
  • 核心步骤已全部执行
  • 输出文档已生成到 docs/ 目录
  • 每个判断都有数据/证据支撑
  • 已推荐 2-3 个后续 skill

⚠️ 任何一项未通过 → 补全后再标记完成。


项目状态: 上线执行方案已制定 生成时间: [时间戳] 生成工具: super-pm


---

## 推荐下一步

执行完成后,输出:

✅ 上线执行方案已生成!

🎯 建议下一步:
1. /pm-change(建立变更管理机制)
2. /pm-retro(进行迭代复盘)
3. /pm-roadmap(更新产品路线图)
Install via CLI
npx skills add https://github.com/konglong87/superPM --skill pm-release
Repository Details
star Stars 21
call_split Forks 1
navigation Branch main
article Path SKILL.md
More from Creator