当推送提交时,会触发两个管道作业。但手动启动管道时并没有发生同样的情况。
我应该去哪里检查?指示分支活动的从左或从右的箭头是什么意思?
我不得不说的一件事是,有一个合并请求待处理,是否会导致此问题?
您的解决方案的问题是,它仅在发生合并请求事件时避免管道执行,但仍然会有重复的管道,例如合并请求管道(那些detached)和分支管道(其他),以及在推送标签时我认为安装程序将创建一个单独的管道。
按照文档,您可以避免重复的管道,并在使用以下工作流规则集时在分支管道和 MR 管道之间切换(我添加了 ),|| $CI_COMMIT_TAG因为在推送标签时还应该创建管道(但可能只有少数作业会创建)添加到此管道中)
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'
Run Code Online (Sandbox Code Playgroud)
该管道是一个合并请求管道,您可以看到这一点,因为它是detached合并请求符号以及提交 ID 左侧的 MR 编号
下面的屏幕截图显示了一个“正常”分支管道,它由分支名称和提交 ID 左侧的 GitLab 分支符号表示
| 归档时间: |
|
| 查看次数: |
3534 次 |
| 最近记录: |