仅当提交消息在[]括号内包含某些信息并且触发源为push事件时,我才想创建管道。为此,我写了
workflow:
rules:
- if: $CI_COMMIT_MESSAGE =~ /\[[^\[\]]*?\]\n/ && $CI_PIPELINE_SOURCE == 'push'
- when: never
但是它似乎忽略了源代码部分,因为如果我尝试通过API调用触发管道,则最后一次提交包含[ ]
时它将通过。仅当提交消息不满足正则表达式时,才会拒绝API调用,但就我而言,应该始终将其阻止。
有没有办法解决这个问题?
答案 0 :(得分:0)
when: never
指定何时不创建管道。您只需要使用when: always
,但是由于这是默认设置,因此无需指定它。另外,在条件语句周围使用引号。试试这个:
workflow:
rules:
- if: '$CI_COMMIT_MESSAGE =~ /\[[^\[\]]*?\]\n/ && $CI_PIPELINE_SOURCE == "push"'
有关更多信息,请参见workflow:rules。