如何仅在QAS分支上使用部署套件运行Github操作? [英] How to run Github Actions with the 'deployment_status' kitty and only on the QAS branch?

查看:2
本文介绍了如何仅在QAS分支上使用部署套件运行Github操作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要GitHub操作仅在QAS分支上运行并部署事件。它应该在‘Pull_Request’和‘Pull’上运行,并且只能在QAS分支上运行。

name: Cypress

on: [deployment_status]

jobs:
  e2e:
    if: github.event.deployment_status.state == 'success'
    runs-on: ubuntu-latest

    steps:
      - name: Print URL
        run: echo Testing URL ${{ github.event.deployment_status.target_url }}

      - name: Checkout
        uses: actions/checkout@v2

      - name: Setup Node.js
        uses: actions/setup-node@v2-beta
        with:
          node-version: 14

      - name: Install modules
        run: yarn

      - name: Run Cypress
        uses: cypress-io/github-action@v2

但我想要这样的东西:

name: Cypress
    
    on:
      deployment_status:
        pull_request:
          branches:
            - qas
        push:
          branches:
            - qas
    
    jobs:...

推荐答案

仅使用触发器条件目前无法实现您想要的结果。这是因为这些条件配置为OR而不是AND

在这种情况下,解决方法是使用一个触发条件-例如您当前正在使用的-然后在作业级别添加筛选器,以根据中的检查分支名称。

在您的情况下,我猜它将如下所示:

name: Cypress

on: [deployment_status]

jobs:
  e2e:
    if: ${{ github.event.deployment_status.state == 'success' && github.ref == 'refs/heads/qas' }}
    runs-on: ubuntu-latest

    steps:
      [...]

注意:让我知道job if condition是否按预期工作(我没有将PoC回购配置为使用github.event.deployment_status.state来尝试)。

注意2:可能没有必要使用${{ }}来表示条件:

if: github.event.deployment_status.state == 'success' && github.ref == 'refs/heads/qas'

这篇关于如何仅在QAS分支上使用部署套件运行Github操作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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