GitHub动作发布标签

时间:2020-09-17 06:53:29

标签: github yaml devops release github-actions

在GitHub中创建发布后,我触发了GitHub操作。在此操作中,我想从发行版中获取一些数据,这可能吗?例如,我想获取标签,然后将该标签用作NuGet软件包版本。有没有办法从工作中获取这些数据?

1 个答案:

答案 0 :(得分:0)

您可以使用${{ github.ref }}${{ github.event.release.tag_name }}

示例:

name: Release

on:
  push:
    # Sequence of patterns matched against refs/tags
    tags:
      - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10

jobs:
  deploy:    
    runs-on: ubuntu-latest
    steps:
      - name: Download artifact
        uses: actions/download-artifact@v2
        with:
          name: NameOfYourArtifact
      - name: Create release
        id: create_release
        uses: actions/create-release@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
        with:
          tag_name: ${{ github.ref }}
          release_name: Release ${{ github.ref }}
          body: TODO
          draft: true
          prerelease: false

      - name: Upload Release Asset
        id: upload-release-asset 
        uses: actions/upload-release-asset@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps 
          asset_path: NameOfYourArtifact.exe
          asset_name: NameOfYourArtifact.exe
          asset_content_type: application/octet-stream

当创建一个新标签并使用v *之类的名称时,将执行此操作。

要触发操作:

git push origin v1.0.0