停止创建分离管道

Stop detach pipelines from getting created

我有一个 gitlab 作业定义如下。

test-1:
  stage: test
  only:
    variables:
    - $RUN_TEST
  except:
  - tags

然后我根据 gitlab 规则将该工作更改为 运行。

test-1:
  stage: test
  rules:
    - if: '$CI_PIPELINE_SOURCE != "schedule" && $CI_COMMIT_TAG == null'
    - if: '$RUN_TESTS == "true" && $CI_COMMIT_TAG == null'

进行此更改后,每当我向我的分支提交一些更改时,我的 gitlab 项目中都会有两个管道 运行。一个是我所做的最新提交,第二个是分离的。

如何摆脱分离管道 运行?

另一个有趣的事情是,当我取消最新的管道时,分离管道也被取消了。

对于最新的管道,CI_PIPELINE_SOURCE 的值 = 推送,对于分离管道,CI_PIPELINE_SOURCE 的值 = merge_request_event。

您看到的分离管道是合并请求管道。您可以使用 workflow:rules 来控制何时创建管道。防止合并请求管道:

workflow:
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
      when: never
    - when: always