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

如何仅在特定的分支和合并请求事件上配置GitLab CI管道,gitlab,gitlab-ci,Gitlab,Gitlab Ci,在我的gitlab CI yml上,我只希望在合并请求和特定分支的情况下执行代码。 只有当我的分支以数字和字符串释放开头时,我才会开始治疗。 例如,12个版本 Test: except: - schedules only: refs: - /^[0-9]*-release/ - merge_requests image: ubuntu before_script: 不管分支名称是什么,管道都会启动:'( 感谢您的帮助您应该使用

在我的gitlab CI yml上,我只希望在合并请求和特定分支的情况下执行代码。 只有当我的分支以数字和字符串释放开头时,我才会开始治疗。 例如,12个版本

Test:
  except:
    - schedules
  only:
      refs:
        - /^[0-9]*-release/
        - merge_requests
  image: ubuntu
  before_script:
不管分支名称是什么,管道都会启动:'(

感谢您的帮助

您应该使用而不是
/
,但
除外,因为后者将在将来被弃用。 用规则重写您的作业将如下所示:

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: