仅当推送到特定分支且标签存在时才触发GitHub工作流 [英] Trigger github workflow only if pushed to specific branch and tag exists
本文介绍了仅当推送到特定分支且标签存在时才触发GitHub工作流的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
仅当代码被推送到特定分支并且存在标记,但我的配置(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
即使标记不存在,也会触发工作流。
我如何修复此问题?
推荐答案
由于我找不到实现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
希望这也能帮助其他人。
这篇关于仅当推送到特定分支且标签存在时才触发GitHub工作流的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文