跳转到内容

发布流程 (ship)

ship 是 GStack 的发布工作流技能。它自动化了从代码完成到创建 PR 的完整流程:

  1. 检测并合并基础分支
  2. 运行测试
  3. 审查 diff
  4. 升级版本号
  5. 更新 CHANGELOG
  6. 提交
  7. 推送
  8. 创建 PR
  • 用户要求 “ship”
  • 用户要求 “deploy”
  • 用户要求 “push to main”
  • 用户要求 “create a PR”
  • 用户说代码已经准备好
  • 用户询问如何部署
Terminal window
git merge-base HEAD main 2>/dev/null || git merge-base HEAD master 2>/dev/null
Terminal window
git fetch origin
git merge origin/main --no-edit
Terminal window
npm test / cargo test / pytest

运行 review 技能进行代码审查

根据提交内容确定版本升级类型:

  • 重大变更 (major)
  • 新功能 (minor)
  • Bug 修复 (patch)

自动生成 CHANGELOG 条目

Terminal window
git add -A
git commit -m "release: v1.2.3"
git push -u origin feature-branch
Terminal window
gh pr create --title "Release v1.2.3" --body "..."

与 review 技能相同,ship 也遵循沸腾湖泊原则:

  • 确保完整测试覆盖
  • 不跳过边界情况
  • 推荐完整方案

当用户说代码准备好时,主动建议使用 ship:

“我注意到你说代码准备好了。要我现在运行 ship 流程吗?“

何时使用

  • 用户要求 “ship”
  • 用户要求 “deploy”
  • 用户要求 “create a PR”
  • 用户说代码已准备好

工作流

  • 合并基础分支
  • 运行测试
  • 审查 diff
  • 升级版本
  • 更新 CHANGELOG
  • 提交推送
  • 创建 PR

关键要点

  • 自动化完整发布流程
  • 确保测试通过
  • 遵循沸腾湖泊原则

关联技能

  • review - 代码审查
  • land-and-deploy - 部署
  • canary - 灰度发布

查看源文件: GitHub原始文件