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。
先决条件
要使用合并结果流水线:
- 您的项目
.gitlab-ci.yml文件必须配置为 在合并请求流水线中运行作业。 - 您的仓库必须是 GitLab 仓库,而不是 外部仓库。
启用合并结果流水线
要在项目中启用合并结果流水线,您必须至少拥有 Maintainer 角色:
- 在左侧边栏,选择 搜索或跳转至 并找到您的项目。
- 选择 设置 > 合并请求。
- 在 合并选项 部分,选择 启用合并结果流水线。
- 选择 保存更改。
如果您选中了复选框但没有配置您的流水线以使用 合并请求流水线,您的合并请求可能会陷入未解决的状态, 或者您的流水线可能会被丢弃。
故障排除
使用 rules:changes:compare_to 时作业或流水线意外运行
当使用 rules:changes:compare_to 与合并请求流水线一起使用时,
您可能会遇到意外运行的作业或流水线。
对于合并结果流水线,GitLab 创建的内部提交用作比较的基准。 这个提交可能包含比 MR 分支尖端更多的更改,这会导致意外结果。
成功的合并结果流水线会覆盖失败的分支流水线
当激活了 流水线必须成功 设置 时, 失败的分支流水线有时会被忽略。 问题 385841 已开放以跟踪此问题。