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

如何基于appsettings.json的VersionNumber自动生成GitHub Release

基于appsettings.json版本号创建Git标签与GitHub Release方案

实现思路

无需依赖第三方Changelog驱动的工具,直接通过GitHub官方能力提取版本号、创建标签,并利用GitHub原生的发布说明生成功能完成需求。

具体Workflow配置

在仓库的.github/workflows/目录下创建auto-release.yml文件,内容如下:

name: 自动生成标签与Release

on:
  push:
    branches: [ main ]
    paths: [ 'appsettings.json' ] # 仅当版本配置文件更新时触发流程

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - name: 拉取仓库代码
        uses: actions/checkout@v4
        with:
          fetch-depth: 0 # 拉取完整历史以支持标签操作

      - name: 从appsettings.json提取版本号
        id: get-version
        run: |
          # 用jq解析JSON文件,提取VersionNumber字段
          VERSION=$(jq -r '.Version.VersionNumber' appsettings.json)
          # 将版本号存入环境变量供后续步骤调用
          echo "VERSION=$VERSION" >> $GITHUB_ENV

      - name: 创建并推送Git标签
        run: |
          # 配置Git提交身份
          git config --global user.name "GitHub Actions Bot"
          git config --global user.email "actions-bot@github.com"
          # 创建标签(可根据需求去掉v前缀)
          git tag v${{ env.VERSION }}
          # 推送标签到远程仓库
          git push origin v${{ env.VERSION }}

      - name: 生成GitHub Release(含自动发布说明)
        uses: actions/create-release@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # GitHub自动注入的仓库权限Token
        with:
          tag_name: v${{ env.VERSION }}
          release_name: 正式版本 v${{ env.VERSION }}
          generate_release_notes: true # 开启GitHub自动生成发布说明(基于合并的Pull Request)
          draft: false # 是否设为草稿版本
          prerelease: false # 是否设为预发布版本

关键细节说明

  • 触发逻辑:仅当main分支下的appsettings.json被修改推送时执行,确保只有手动更新版本号后才触发流程。
  • 版本号提取:使用jq工具解析JSON文件,GitHub托管的Runner默认预装该工具,无需额外安装依赖。
  • 自动发布说明:通过generate_release_notes: true参数,让GitHub自动基于合并到当前分支的Pull Request生成发布说明,无需手动维护Changelog文件。
  • 标签格式:示例中使用v+版本号的命名格式,若不需要前缀,可将所有v${{ env.VERSION }}改为${{ env.VERSION }}。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 18:05:00