第 11 章:发布上线 — 从开发分支到生产环境

⏱ 预计阅读 8 分钟 更新于 2026/5/19
💡 进群学习加 wx: agentupdate
(申请发送: agentupdate)

你将学到什么

  • superpowers 的 /finishing-a-development-branch 完成开发分支
  • gstack 的 /ship 发布流程
  • gstack 的 /document-release 生成发布文档
  • /freeze/unfreeze 控制发布节奏

11.1 发布前的检查清单

在发布之前,确保以下事项都完成了:

flowchart TB
    CHECK["发布检查清单"]

    CHECK --> C1["✅ 所有测试通过"]
    CHECK --> C2["✅ code review 无 Critical 问题"]
    CHECK --> C3["✅ 设计审查通过"]
    CHECK --> C4["✅ CLAUDE.md 已更新"]
    CHECK --> C5["✅ 无 console.log 调试代码"]
    CHECK --> C6["✅ localStorage 容量检测正常"]

    C1 & C2 & C3 & C4 & C5 & C6 --> READY["准备发布 🚀"]

    style CHECK fill:#fef3c7,stroke:#d97706
    style READY fill:#dcfce7,stroke:#16a34a

快速验证

# 跑全量测试
npm test

# 构建生产版本
npm run build

# 本地预览生产版本
npm run preview

如果三步都通过,可以进入发布流程。

11.2 /finishing-a-development-branch — superpowers 发布

命令语法

/finishing-a-development-branch

这个命令做以下事情:

  1. 检查分支状态 — 确认所有改动都已 commit
  2. 运行测试 — 最终确认测试全部通过
  3. 合并准备 — 生成 PR 描述或合并说明
  4. 清理工作 — 删除临时分支、worktree 等

实战:完成 NoteFlow 开发分支

/finishing-a-development-branch

你会看到:

分支状态检查:

  • 当前分支:feature/noteflow-p1
  • 12 commits ahead of main
  • 工作区干净(无未提交改动)

测试结果:

  • 24 tests passed, 0 failed
  • 覆盖率:87%

PR 描述已生成:

## NoteFlow P1: 搜索与分类

### 新功能
- 实时搜索(按标题和内容)
- 搜索结果高亮
- 分类标签(工作、生活、学习)
- 按标签筛选笔记

### 技术改动
- 新增 `useSearch` Hook
- 新增 `TagSelector` 组件
- 数据迁移:旧笔记补充 tags 字段

### 测试
- 新增 12 个测试用例
- 覆盖率从 72% 提升到 87%

11.3 /ship — gstack 发布流程

命令语法

/ship

gstack 的 /ship 更偏重发布协调——确保发布过程有序进行。

实战:发布 NoteFlow

/ship

你会看到:

发布准备:

  1. 版本号:1.1.0(新增搜索和分类功能)
  2. 变更日志:基于 git log 自动生成
  3. 发布检查:
    • ✅ 所有测试通过
    • ✅ 无安全漏洞
    • ✅ 构建成功
    • ✅ 文档已更新

11.4 /document-release — 生成发布文档

命令语法

/document-release

自动生成一份面向用户的发布说明。

实战:生成 NoteFlow 发布说明

/document-release

产出:

# NoteFlow v1.1.0 发布说明

## 新功能

### 搜索
现在你可以快速搜索笔记了!在搜索栏输入关键词,
实时显示匹配结果,搜索内容会高亮显示。

### 分类标签
给笔记打标签,按标签筛选。预设了"工作"、"生活"、"学习"
三个标签,你也可以自定义。

## 改进
- 笔记列表滚动更流畅
- 编辑大笔记时性能优化
- 首次使用引导体验改善

## 修复
- 修复快速连续创建笔记时可能丢失的问题
- 修复搜索特殊字符时崩溃的问题

11.5 /freeze 和 /unfreeze — 控制发布节奏

/freeze — 冻结代码

在发布准备期间,防止新的改动进入:

/freeze

冻结后:

  • 不允许新的功能合并
  • 只允许 bug 修复
  • 确保发布版本稳定

/unfreeze — 解除冻结

发布完成后解除冻结:

/unfreeze

完整发布流程

flowchart TB
    A["开发完成"] --> B["finishing-a-development-branch
(superpowers)"] B --> C["/freeze
冻结代码"] C --> D["/ship
发布流程"] D --> E["/document-release
生成发布文档"] E --> F["部署上线"] F --> G["/unfreeze
解除冻结"] G --> H["开始下一个迭代"] style C fill:#dbeafe,stroke:#2563eb style D fill:#dcfce7,stroke:#16a34a style G fill:#fef3c7,stroke:#d97706

11.6 纯前端项目的部署

NoteFlow 是纯前端应用,部署比较简单:

部署到 Vercel

# 安装 Vercel CLI
npm i -g vercel

# 部署
vercel

部署到 GitHub Pages

# 安装 gh-pages
npm install --save-dev gh-pages

# 在 package.json 中添加
# "deploy": "gh-pages -d dist"

# 构建 + 部署
npm run build
npm run deploy

动手做

  1. 运行 /finishing-a-development-branch 完成开发分支
  2. 运行 /freeze 冻结代码
  3. 运行 /ship 进入发布流程
  4. 运行 /document-release 生成发布文档
  5. 部署到你选择的平台
  6. 运行 /unfreeze 解除冻结

本章小结

命令 来源 做什么
/finishing-a-development-branch superpowers 完成分支、生成 PR
/ship gstack 发布协调
/document-release gstack 生成用户发布说明
/freeze gstack 冻结代码,防止新改动
/unfreeze gstack 解除冻结,开始下一轮

核心原则: 发布不是一键完成的事。冻结 → 发布 → 文档 → 部署 → 解冻,每步都有意义。