gpt4 book ai didi

gitlab - 为什么 gitlab 在提交时运行重复的管道?

转载 作者:行者123 更新时间:2023-12-05 08:24:54 29 4
gpt4 key购买 nike

我有以下 .gitlab-ci.yml 作业的内容:

stages:
- stage1
- stage2


job1:
stage: stage1
script:
- echo "Running default stage1, pipeline_source=$CI_PIPELINE_SOURCE"

job2:
stage: stage2
rules:
- if: $CI_PIPELINE_SOURCE == "push"
- when: always
script:
- echo "Running STAGE2! pipeline_source=$CI_PIPELINE_SOURCE"

当我将此更改提交到合并请求分支时,似乎正在启动两个管道。

这是 gitlab 中的已知问题吗?还是我理解错了?

最佳答案

GitLab 为您的分支和合并请求创建管道。由于使用 rules:,这是 GitLab 的“预期”[1] 功能。 (奇怪的是,当使用 only/except 时,merge request pipelines 只会在使用 only: - merge_requests 时发生)。

如果您只是想禁用“合并请求的管道”并且只运行分支管道,您可以包含默认分支管道模板,它提供了一个workflow: 来阻止合并请求的管道。

include:
- template: 'Workflows/Branch-Pipelines.gitlab-ci.yml'

此外,您还可以看到 this answer对于将防止合并请求管道和分支管道之间重复的工作流当合并请求打开时。


[1]:我一直认为这是 GitLab 的一个怪癖,作为数百名用户的 GitLab 管理员,我已经多次收到这个问题。因此,您并不是唯一对这种“预期功能”感到惊讶的人

关于gitlab - 为什么 gitlab 在提交时运行重复的管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69855211/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com