如何在GitHub Actions中使用最新的发布标签?

3
我想通过在GitHub中创建发布标签来控制版本发布,例如:
name: deploy-live

on:
  push:
    tags:
      - release-v*

同时也可以通过 Webhook 运行部署来重新构建静态网站,使用最新的发布标签(不包括最新发布标签之后的任何开发工作):

name: deploy-live

on:
  push:
    tags:
      - release-v*
  repository_dispatch:
    types:
      - prismic_content_update

目前,这将从主分支重新构建网站,包括自上次发布标记以来的所有更改。是否有一种方法在部署之前将HEAD(不包括更改)重置为最新的发布标记?

1个回答

8
我找到了一种解决这个问题的方法,具体流程如下:
name: deploy-live

on:
  push:
    tags:
      - release-v*
  repository_dispatch:
    types:
      - prismic_content_update

concurrency: deploy-live

jobs:
  deploy:
    runs-on: ${{ matrix.os }}

    strategy:
      matrix:
        os: [ubuntu-latest]
        node: [14]

    steps:
      - name: Checkout
        uses: actions/checkout@master
        with:
          fetch-depth: 0

      - name: Checkout latest release tag
        run: |
          LATEST_TAG=$(git describe --tags `git rev-list --tags --max-count=1`)
          git checkout $LATEST_TAG

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接