Skip to content

发布流程

步骤概览

完成开发 → 创建 Tag → CI 自动构建 → 验证 Release → 更新文档

步骤 1:完成代码开发

确保所有代码已提交并通过测试:

bash
# 确保所有更改已提交
git status

# 运行测试
npm test

# 确保在主分支
git checkout main
git pull origin main

步骤 2:创建 Git Tag

创建带注释的 Tag

bash
# 创建带注释的 tag(推荐)
git tag -a v1.0.0 -m "Release version 1.0.0"

# 或创建轻量 tag
git tag v1.0.0

版本号规范

遵循 语义化版本

版本变更说明示例
MAJOR不兼容的 API 修改1.0.0 → 2.0.0
MINOR向下兼容的功能新增1.0.0 → 1.1.0
PATCH向下兼容的问题修复1.0.0 → 1.0.1

推送 Tag

bash
# 推送单个 tag
git push origin v1.0.0

# 或推送所有 tags
git push origin --tags

步骤 3:等待 CI 构建完成

推送 tag 后,GitHub Actions 会自动触发构建流程。

查看构建进度

  1. 进入仓库的 Actions 页面
  2. 找到对应的 workflow 运行记录
  3. 点击查看详细日志

构建失败处理

如果构建失败:

  1. 查看日志找出失败原因
  2. 修复问题并提交
  3. 删除失败的 tag 并重新创建
bash
# 删除本地 tag
git tag -d v1.0.0

# 删除远程 tag
git push origin :refs/tags/v1.0.0

# 修复问题后重新创建
git tag -a v1.0.0 -m "Release version 1.0.0"
git push origin v1.0.0

步骤 4:验证 Release

构建完成后,检查 Release 页面。

检查清单

  • [ ] 所有构建产物已上传
  • [ ] 文件大小合理
  • [ ] Attestation 已生成(显示 "Verified" 标记)
  • [ ] Release Notes 正确

本地验证

下载文件并使用 gh CLI 验证:

bash
# 下载文件
curl -LO https://github.com/your-org/your-repo/releases/download/v1.0.0/app

# 验证 attestation
gh attestation verify ./app --repo your-org/your-repo

步骤 5:更新文档

在项目 README 中添加下载和验证说明:

markdown
## 下载

从 [Releases](https://github.com/your-org/your-repo/releases) 页面下载最新版本。

## 验证软件来源

下载后,使用 GitHub CLI 验证文件来源:

\`\`\`bash
gh attestation verify ./your-app --repo your-org/your-repo
\`\`\`

验证成功表示该软件确实由官方 CI 构建。

自动化发布脚本

可以创建脚本简化发布流程:

bash
#!/bin/bash
# release.sh

set -e

VERSION=$1

if [ -z "$VERSION" ]; then
  echo "Usage: ./release.sh <version>"
  echo "Example: ./release.sh 1.0.0"
  exit 1
fi

# 确保在 main 分支
git checkout main
git pull origin main

# 运行测试
npm test

# 创建 tag
git tag -a "v${VERSION}" -m "Release version ${VERSION}"

# 推送 tag
git push origin "v${VERSION}"

echo "Tag v${VERSION} pushed. Check Actions for build status."
echo "https://github.com/$(git remote get-url origin | sed 's/.*github.com[:/]\(.*\)\.git/\1/')/actions"

使用方式:

bash
chmod +x release.sh
./release.sh 1.0.0

发布后检查

发布完成后,建议进行以下检查:

  1. 功能测试 - 下载并测试软件功能
  2. 通知相关人员 - 告知团队新版本已发布
  3. 监控问题 - 关注用户反馈和 Issue

软件安全标准文档