← ClaudeAtlas

gh-releaselisted

当用户要求"打 tag/发 Release/发布版本/GitHub Release"时触发。 用 gh CLI 创建 GitHub Release,配合 changelog 生成 notes。 这是 SDLC 的最后一步:archive-change 之后可选调用。
structure-projects/structure-agent-rules · ★ 1 · AI & Automation · score 66
Install: claude install-skill structure-projects/structure-agent-rules
# GitHub Release > 创建 GitHub Release + Tag。**SDLC 的最后一步**。 ## 前置条件(MUST 全部满足) 1. **变更已归档**:`changes/archive/<id>/` 存在 2. **changelog 已更新**:`changes/changelog/<version>.md` 含本次条目 3. **当前分支为 master**(或 develop,视分支策略) 4. **本地与远程同步**:`git pull` 最新 ## 执行步骤 ### 第 1 步:确认版本号 ```bash # 读取当前版本 grep -m1 "version" pom.xml # Java # 或 jq -r .version package.json # Node # 确认目标版本(MUST 用户确认) # 例如:1.2.0 ``` ### 第 2 步:打 Tag ```bash # 切到 master 并拉最新 git checkout master git pull # 打附注 Tag git tag -a v1.2.0 -m "Release v1.2.0" # 推送 Tag git push origin v1.2.0 ``` **关键约束**: - ✅ **MUST** 用附注 Tag(`git tag -a`) - ✅ **MUST** Tag 格式 `v<X.Y.Z>`(如 `v1.2.0`) - ❌ **MUST NOT** 用轻量 Tag(`git tag`,无附注) ### 第 3 步:创建 GitHub Release ```bash # 方式 A:从 changelog 生成 notes(推荐) gh release create v1.2.0 \ --title "v1.2.0" \ --notes-file changes/changelog/1.2.0.md # 方式 B:自动生成 notes gh release create v1.2.0 --generate-notes # 方式 C:手动编写 notes gh release create v1.2.0 \ --title "v1.2.0" \ --notes "$(cat <<'EOF' ## Added - 新增用户登录接口 ## Fixed - 修复 token 过期问题 EOF )" ``` **MUST 用户确认后执行**。 ### 第 4 步:(可选)触发发布流水线 根据项目类型触发对应的发布流水线: ```bash # Maven 项目 gh workflow run release-maven.yml \ -f module=<module> \ -f version=1.2.0 # npm 组件 gh workflow run publish-npm.yml \ -f component=<component> \ -f version=1.2.0 # Docker 镜像 gh workflow run build-and-push.yml \ -f module=<module> \ -f version=1.2.0 ``` **MUST 用户确认后执行**。 ### 第 5 步:验证 ```bash # 查看 Release gh release view v1.2.0 # 查看 workflow 运