[英]Logical AND in GitLab CI workflow tag
仅当提交消息包含 [ ] 括号内的某些信息并且触发源是推送事件时,我才想创建管道。 为了实现这一点,我写了
workflow:
rules:
- if: $CI_COMMIT_MESSAGE =~ /\[[^\[\]]*?\]\n/ && $CI_PIPELINE_SOURCE == 'push'
- when: never
但它似乎忽略了源部分,因为如果我尝试通过 API 调用触发管道,如果最后一次提交包含[ ]
,它将通过。 仅当提交消息不满足正则表达式时,才拒绝 API 调用,但就我而言,它应该始终被阻止。
有没有办法来解决这个问题?
when: never
指定何时不创建管道。 您只需要使用when: always
,但由于这是默认设置,因此您无需指定它。 此外,在条件语句周围使用引号。 尝试这个:
workflow:
rules:
- if: '$CI_COMMIT_MESSAGE =~ /\[[^\[\]]*?\]\n/ && $CI_PIPELINE_SOURCE == "push"'
有关详细信息,请参阅工作流:规则。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.