You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Github Actions自动生成发布说明并创建版本?求替代方案

自动生成发布说明并创建GitHub版本的替代方案

方案一:用GitHub官方CLI(gh)实现

GitHub官方的gh工具是替代过时actions/create-release的首选,它原生支持生成发布说明并创建版本,稳定性和兼容性有保障。

工作流示例

- name: 生成发布说明
  id: gen_notes
  run: |
    # 基于最新标签自动生成差异说明,结果存入文件
    gh release notes --latest --notes-file release-notes.md
    # 把说明内容存入环境变量,方便后续步骤调用
    echo "notes=$(cat release-notes.md)" >> $GITHUB_ENV

- name: 创建版本并附加说明
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  run: |
    gh release create ${{ env.ver }} \
      --title "${{ env.ver }}" \
      --notes-file release-notes.md \
      --draft=false \
      --prerelease=false

默认的gh release notes会基于标签间的commit和PR自动整理说明,也可以通过添加参数自定义规则,比如只包含指定标签的变更。

方案二:使用活跃维护的社区Action

推荐使用softprops/action-gh-release,这是目前社区广泛使用的替代方案,集成了发布说明自动生成功能,配置简单:

工作流示例

- name: 创建带自动说明的版本
  uses: softprops/action-gh-release@v2
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  with:
    tag_name: ${{ env.ver }}
    name: ${{ env.ver }}
    draft: false
    prerelease: false
    # 开启自动生成发布说明,默认基于commit和PR整理
    generate_release_notes: true
    # 若需要自定义说明,可指定本地文件路径
    # body_path: ./custom-release-notes.md

自定义发布说明的进阶玩法

如果需要更个性化的说明格式,可以手动生成:

  • 用git log筛选指定范围的commit,格式化输出:
- name: 自定义生成发布说明
  run: |
    # 获取上一个标签到当前HEAD的所有commit,按标题格式化
    git log $(git describe --abbrev=0 --tags)..HEAD --format="- %s" > release-notes.md
  • 结合Conventional Commits规范,用工具自动生成结构化的变更日志(如按功能、修复、文档分类)

内容的提问来源于stack exchange,提问作者gamechanger17

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 15:07:20