如何在GitHub操作中使用最新发布标签?



我想通过在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(不包括更改)重置为最新版本标签?

我找到了一种解决这个问题的方法,使用以下工作流程:

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