Gitlab合并代码分支时流水线出现双”pipeline”(未完)

Gitlab合并代码分支时流水线出现双”pipeline”(未完)

背景

最近开发反馈在合并代码触发流水线时经常出现双pipeline,并且这两个pipeline中有一个是正常走流程,但有一个却只有一个push image的job,以下是正常流水线的简易流程

屏幕截图 2025-04-17 101251

但是在合并代码时却出现了以下问题

屏幕截图 2025-04-17 101655

在上面的两个流水线中有一个只出现了一个job,并且这两个流水线所触发的git hash值是一致的。

屏幕截图 2025-04-17 101838

百思不得其解的查资料时发现官方时这样说的

GitLab 会在 合并 MR 成功后 做两件事(视配置不同而定):

  • 触发 MR 合并前的 MR Pipeline
  • MR 合并后会 push commit 到目标分支,于是再触发一个 push pipeline

所以我们在一个 MR 合并过程中会看到两个 pipeline

类型 是否预期 说明
MR pipeline (merge_request_event) ✅ 是的 真正的、提前跑的 pipeline
合并后 Push 产生的 pipeline (push) ✅ 也是的 GitLab 合并时自动 push 到目标分支导致

但我们要的是合并后Push产生的pipeline,更具官方的说法我们可以使用自带的CI_PIPELINE_SOURCE 变量来触发是否执行pipeline

© 版权声明
THE END
喜欢就支持一下吧
点赞9赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容