为什么我的gitlab管道中省略了一个阶段?

为什么我的gitlab管道中省略了一个阶段?,gitlab,Gitlab,我有以下gitlab配置: stages: - test - stage1 - stage2 test: rules: - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "schedule" when: never stage: test script: - 'echo "Running Test"' my_s

我有以下gitlab配置:

stages:
  - test
  - stage1
  - stage2

test:
  rules:
    - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "schedule"
      when: never
  stage: test
  script:
    - 'echo "Running Test"'

my_stage1:
  stage: stage1
  script:
    - 'echo "Running stage 1"'

my_stage2:
  stage: stage2
  script:
    - 'echo "Running stage 2"'
我创建了一个合并请求。我希望在这种情况下所有三个阶段都会运行,但第一个阶段不会运行。为什么?如何修复它?关于这一点的文件很不清楚


CI\u PIPELINE\u SOURCE
的内容是
merge request event

查看文档,当您使用
时:never
它需要后跟一个特定的success子句,以便在其他情况下运行,例如:

test:
  rules:
    - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "schedule"
      when: never
    - when: on_success

谢谢你的建议。但是,我在文档中看不到它。到底是什么短语记录了这一点?而且,第一阶段似乎运行了两次。这是gitlab中的一个bug吗?如果您查找“在所有其他情况下,作业被添加到管道中,并带有时间:on_success”,您应该会找到它。不知道为什么它现在运行了两次。我必须承认,我觉得吉特拉布奇有点像一门黑暗的艺术。