停止创建分离管道
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
我有一个 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