首页 > 解决方案 > 如果提交消息不包含 WIP,则 gitlab 规则

问题描述

当提交消息不包含WIP并且分支是功能分支时,我只需要运行一个管道。但无论我做什么,它要么不运行,要么像下面一样总是运行

我在兜圈子;这是我最后的努力,这对我来说似乎很有意义,但无论提交消息说什么都会触发:/

stages:
  - stage
  - sprint
# -------------------------------------------------------------------

sprint:
  stage: sprint
  allow_failure: false
  image: node:lts
  script:
    - echo 'stuff'
  rules:
    - if: '$CI_COMMIT_BRANCH=~ /^feature(.?)*/ && $CI_COMMIT_MESSAGE  != /^WIP(.?)*/'
      when: always

标签: gitlabgitlab-ci

解决方案


您正在使用!=运算符而不是!~匹配正则表达式,所以现在它需要 CI_COMMIT_MESSAGE 正则表达式。

有关详细信息,请参阅https://docs.gitlab.com/ee/ci/yaml/#common-if-clauses-for-rules


推荐阅读