仅当将代码推送到特定分支并且标签存在时,我才想触发Github工作流,但是我的配置(github工作流)无法按预期工作:
name: Deployment
on:
push:
branches:
- feature/BRANCH-NAME
tags:
- *
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
with:
node-version: '10.x'
- name: Install dependencies
run: |
npm install
- name: Lint & build
run: |
npm run build
即使标签不存在,也会触发工作流程。
我该如何解决?
答案 0 :(得分:5)
由于我找不到实现AND
条件的方法(即在主服务器上标记为AND),因此我使用了以下解决方法:
name: Worflow demo
on:
push:
tags:
- v*
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Exit if not on master branch
if: endsWith(github.ref, 'master') == false
run: exit -1
- name: Next job ...
如果推送了带标记的(例如,标记v1.0.0
)提交,这将触发:
on:
push:
tags:
- v*
第一步(如果不在主分支上,则退出),然后检查当前分支是否未以master
结尾并退出工作流(后续测试将不会开始):
- name: Exit if not on master branch
if: endsWith(github.ref, 'master') == false
run: exit -1
希望这对其他人也有帮助。