本文介绍了GitLab双管道触发问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在推送提交时,会触发两个管道作业。但手动启动管道时没有发生同样的情况。

我应该在哪里检查?表示分支活动的左箭头或右箭头是什么意思?

我必须说的一件事是,有一个合并请求挂起,是否会导致此问题?

推荐答案

您的解决方案的问题是,它只在您有合并请求事件时才避免管道执行,但仍然会有重复的管道,例如合并请求管道(detached)和分支管道(其他),我认为当按下标记时,您的设置将创建一个单独的管道。

遵循文档后,当使用为工作流设置的以下规则(我添加了|| $CI_COMMIT_TAG)时,您可以避免重复的管道,并在分支管道和MR管道之间切换,因为在推送标记时还应该创建管道(但可能只有几个作业会添加到此管道中)

workflow:
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
    - if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS'
      when: never
    - if: '$CI_COMMIT_BRANCH' || '$CI_COMMIT_TAG'

此管道是合并请求管道,您可以看到这一点,因为它是detached,并且因为合并请求符号和提交ID左侧的MR编号

下面的屏幕截图显示了一个‘普通’分支管道,它由提交ID左侧的分支名称和GitLab分支符号表示

这篇关于GitLab双管道触发问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 06:25