我想创建一些嵌套条件:当它是合并或合并请求并且以特定名称开始“功能”时,我需要此管道才能工作。那么,职位的“唯一”选项中是否有 AND 条件?
不,没有。您必须使用规则。
test:
stage: test
script:
- echo "test"
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TITLE =~ /^feature/'
还有另一个运算符,即 AND 运算符。 您可以将 gitlab-ci.yml 文件中的
AND
替换为 &&
运算符。我们就是这样做到的!
丹尼尔内尔兹的答案是正确的。我只是想指出使用多行 YAML 字符串的选项,例如:
test:
stage: test
script:
- echo "test"
rules:
- if: >
$CI_PIPELINE_SOURCE == "merge_request_event" &&
$CI_MERGE_REQUEST_TITLE =~ /^feature/