如何在 Github Action 中使用 Github Release 版本号

Woo*_*zar 9 pipeline version github github-actions

我创建了一个 Github 存储库,该存储库具有构建 npm 包并将其发布到 npmjs.com 的操作。我采取行动的触发因素是在 Github 中创建一个新版本。创建新版本时,Github 要求我提供版本号。我很想在 Action 中使用这个版本号并将其提供给 yarn publish 命令。

我的 ci 文件看起来像这样(我去掉了一些在这里不重要的部分):

name: Deploy npm package

on:
  release:
    types: [created]

jobs:
  publish-npm:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-node@v1
        with:
          node-version: 12
          registry-url: https://registry.npmjs.org/
      - run: yarn install
      - run: yarn build
      - run: yarn publish --new-version ${...}
        env:a
          NODE_AUTH_TOKEN: ${{secrets.npm_token}}
Run Code Online (Sandbox Code Playgroud)

是否有包含发布版本号的环境变量?

sct*_*thi 21

应该是${{ github.event.release.tag_name }}。发布的结构可以在这里找到:https : //developer.github.com/v3/repos/releases/#get-a-single-release

我也建议使用

on:
  release:
    types: [published]
Run Code Online (Sandbox Code Playgroud)

而不是为了避免将某些内容放入 npm 以用于草稿版本而创建。请参阅:https : //help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows#release-event-release

暗示:

要调试事件,您可以使用:

jobs:
  debug:
    name: Debug
    runs-on: ubuntu-latest
    steps:
      - name: Dump env
        run: env | sort
      - name: Dump GitHub context
        env:
          GITHUB_CONTEXT: ${{ toJson(github) }}
        run: echo "$GITHUB_CONTEXT"
Run Code Online (Sandbox Code Playgroud)


小智 17

您可以使用 获取标签版本${{ github.event.release.tag_name }}