合并结果流水线
- 从 15.1 版本开始,合并结果流水线也会在 Draft 合并请求上运行。
合并结果流水线是合并请求流水线的一种。它是针对合并在一起的源分支和目标分支的结果运行的流水线。
极狐GitLab 使用合并的结果创建一个内部提交,因此流水线可以针对它运行。两个分支中都不存在此提交,但您可以在流水线详细信息中查看它。内部提交的作者始终是创建合并请求的用户。
流水线针对目标分支运行,因为它在您运行流水线时存在。 随着时间的推移,当您在源分支中工作时,目标分支可能会发生变化。 任何时候您想确保合并的结果是准确的,您都应该重新运行流水线。
当目标分支的更改与源分支中的更改冲突时,合并结果流水线无法运行。
在这些情况下,流水线作为合并请求的流水线运行,并标记为 merge request
。
先决条件
为合并结果启用流水线:
- 您项目的
.gitlab-ci.yml
文件必须配置了在合并请求流水线中运行作业。 - 您的仓库必须是极狐GitLab 仓库,而不是外部仓库外部仓库。
为合并结果启用流水线
要为项目的合并结果启用流水线:
- 在左侧边栏中,选择 搜索或转到 并找到您的项目。
- 在左侧边栏中,选择 设置 > 合并请求。
- 在 合并选项 部分,选择 启用合并结果流水线。
- 单击 保存更改。
如果您选中该复选框但未将 CI/CD 配置为将流水线用于合并请求,您的合并请求可能会卡在未解决状态或您的流水线可能会被丢弃。
故障排查
作业或流水线使用 rules:changes:compare_to 时意外运行
当在合并请求流水线中使用 rules:changes:compare_to
时,可能会意外运行作业或流水线。
有了合并结果流水线,极狐GitLab 会创建一个内部提交,用于运行流水线。此提交可能包含比合并请求分支的分支尖端更多的更改,这会导致意外结果。
成功的合并结果流水线覆盖失败的分支流水线
当启用流水线必须成功设置时,系统有时会忽略失败的分支流水线。