Help us learn about your current experience with the documentation. Take the survey.

合并结果流水线

  • Tier: Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

合并结果流水线运行在源分支和目标分支合并后的结果上。 它是 合并请求流水线 的一种类型。

GitLab 会创建一个包含合并结果的内部提交,以便流水线可以运行它。 这个提交不存在于任何分支中,但您可以在流水线详情中查看它。 内部提交的作者始终是创建合并请求的用户。

流水线运行时,会针对运行流水线那一刻的目标分支状态。 随着时间的推移,当您在源分支上工作时,目标分支可能会发生变化。 任何时候,如果您想确保合并结果的准确性,都应该重新运行流水线。

当目标分支的更改与源分支的更改存在冲突时,合并结果流水线无法运行。 在这些情况下,流水线会作为 合并请求流水线 运行, 并标记为 merge request

先决条件

要使用合并结果流水线:

启用合并结果流水线

要在项目中启用合并结果流水线,您必须至少拥有 Maintainer 角色:

  1. 在左侧边栏,选择 搜索或跳转至 并找到您的项目。
  2. 选择 设置 > 合并请求
  3. 合并选项 部分,选择 启用合并结果流水线
  4. 选择 保存更改

如果您选中了复选框但没有配置您的流水线以使用 合并请求流水线,您的合并请求可能会陷入未解决的状态, 或者您的流水线可能会被丢弃。

故障排除

使用 rules:changes:compare_to 时作业或流水线意外运行

当使用 rules:changes:compare_to 与合并请求流水线一起使用时, 您可能会遇到意外运行的作业或流水线。

对于合并结果流水线,GitLab 创建的内部提交用作比较的基准。 这个提交可能包含比 MR 分支尖端更多的更改,这会导致意外结果。

成功的合并结果流水线会覆盖失败的分支流水线

当激活了 流水线必须成功 设置 时, 失败的分支流水线有时会被忽略。 问题 385841 已开放以跟踪此问题。