如何仅在特定分支和合并请求事件上配置 GitLab CI Pipeline

时间:2021-05-07 15:00:59

标签: gitlab gitlab-ci

在我的 gitlab CI yml 上,我只想在合并请求和特定分支的情况下执行我的代码。 只有当我的分支以数字和字符串 -release 开头时,我才想开始我的治疗。 例如,12-release

Test:
  except:
    - schedules
  only:
      refs:
        - /^[0-9]*-release/
        - merge_requests
  image: ubuntu
  before_script:

无论分支名称如何,管道都会开始:'(

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您应该使用 {{3}} 而不是 only/except,因为后者将在未来被弃用。 用规则重写您的工作将如下所示:

Test:
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
    - if: '$CI_COMMIT_BRANCH =~ /^[0-9]*-release/'
  image: ubuntu
  before_script: