仅当推送到特定分支且标签存在时才触发GitHub工作流 [英] Trigger github workflow only if pushed to specific branch and tag exists

查看:11
本文介绍了仅当推送到特定分支且标签存在时才触发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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆