如何将GitLab CI作业限制为某些引用,但仅合并请求和手动启动?

时间:2019-09-17 23:17:34

标签: gitlab-ci

我有一个gitlab CI作业,我只想对合并到特定分支的请求(和手动管道启动)运行。

如果我说我可以限制它合并请求和手动启动

 only:
    - merge_requests
    - web

我可以通过说来将其限制为仅某些分支

  only:
    - /^issue-.*$/
  except:
    - branches

但是,只有当这两个条件都成立时,我似乎无法找到一种运行作业的方法。我尝试将所有条件添加到唯一的部分,并尝试使用except过滤掉与“ issue-”不匹配的所有分支名称,但这些名称似乎都不起作用。有想法吗?

1 个答案:

答案 0 :(得分:0)

嗯,您可以使用变量和CI_COMMIT_REF_NAME来完成此操作。 (与管道触发器关联的分支)

only:
    refs:
      - merge_requests
      - web
    variables:
      - $CI_COMMIT_REF_NAME =~ /^issue-.*$/

只会跨引用和变量进行逻辑与,而在这些类别内进行逻辑或,因此这将翻译为“当(引用为merge_requests或引用为web)且(变量CI_COMMIT_REF_NAME以issue-开头时)匹配