使用 GitHub Actions 发布版本时, 获取触发的 tag 作为发布的版本号.
方式一
通过 step 获取 tag, 在需要使用的地方使用 steps.get_version.outputs.VERSION, 其中 get_version 是 step 的 id.
1name: Release 2 3on: 4 push: 5 tags: 6 - 'v*' 7 8jobs: 9 10 release: 11 name: Release 12 runs-on: ubuntu-latest 13 steps: 14 15 - name: Get version 16 id: get_version 17 run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//} 18 19 - name: Create Release 20 uses: actions/create-release@v1 21 env: 22 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 23 with: 24 tag_name: ${{ steps.get_version.outputs.VERSION }} 25 release_name: ${{ steps.get_version.outputs.VERSION }} 26 draft: false 27 prerelease: false
方式二
直接使用 github.ref (触发条件为 tag).
1name: Release 2 3on: 4 push: 5 tags: 6 - 'v*' 7 8jobs: 9 release: 10 name: Create Release 11 runs-on: ubuntu-latest 12 steps: 13 14 - name: Create Release 15 id: create_release 16 uses: actions/create-release@v1 17 env: 18 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 19 with: 20 tag_name: ${{ github.ref }} 21 release_name: ${{ github.ref }} 22 draft: false 23 prerelease: false
总结
如果只是想获取 tag, 使用 方式二 是最简单的, 但要注意上述例子里的触发条件是 tag, 如果是其他触发条件, github.ref 可能就不是 tag 了. 当然 方式一 作为一种使用参考, 可以用在需要获取输出值的场景.