事情实际上更复杂,因为这取决于不同的情况。所以这个解决方案可能对你有用,但其他人可能需要稍微调整一下。
以下是我对它的理解。一旦将规则添加到管道中,就会覆盖一些默认值,这些默认值会阻止合并请求管道的创建。
@Benjamin建议的解决方案是可行的,但正如您所注意到的,需要将其添加到每个工作中。所以大多数作业都需要重复配置。
我建议您研究一下工作流:它允许您定义默认行为。你只需要为有特殊规则的工作制定规则。
下面是一个例子:
workflow:
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
如果你想更深入地了解这一行为,我已经写了一篇关于这一点的文章(没有中等订阅的人的朋友链接):
Fix GitLab CI Duplicate Pipelines in Merge Requests when Using rules: