“的目的是什么?”;工作流程:规则“;在Gitlab ci管道中?

“的目的是什么?”;工作流程:规则“;在Gitlab ci管道中?,gitlab,gitlab-ci,Gitlab,Gitlab Ci,我对Gitlab CI管道workflow:rules和job:rules workflow: rules: - if: '$CI_PIPELINE_SOURCE == "push"' - if: '$CI_PIPELINE_SOURCE != "schedule"' 及 如果我们在GitLab管道文件中同时使用这两种方法,会发生什么情况。使用worfklow可以在管道运行时进行配置,而使用规则可以在作业运行时进行配置 因此,在您的

我对Gitlab CI管道
workflow:rules
job:rules

workflow:
  rules:
    - if: '$CI_PIPELINE_SOURCE == "push"'
    - if: '$CI_PIPELINE_SOURCE != "schedule"'


如果我们在GitLab管道文件中同时使用这两种方法,会发生什么情况。

使用
worfklow
可以在管道运行时进行配置,而使用
规则可以在作业运行时进行配置

因此,在您的示例中,管道是为推送创建的,但无法计划,而
test
作业将仅在计划时运行

但由于工作流规则优先于作业规则,因此不会在示例中创建管道,因为工作流规则和作业规则是互斥的

test:
  stage: test
  image: image
  script:
    - echo "Hello world!"
  rules:
    - if: $CI_PIPELINE_SOURCE == "schedule"