{{< details >}}
- Tier: 专业版, 旗舰版
- Offering: JihuLab.com, 私有化部署
{{< /details >}}
{{< history >}}
- 引入于极狐GitLab 15.1,合并结果流水线还可以运行在草稿和并请求上。
{{< /history >}}
合并结果流水线在源分支和目标分支合并后的结果上运行。它是一种合并请求流水线。
极狐GitLab 创建一个包含合并结果的内部提交,以便流水线可以对其运行。此提交在任何分支中都不存在,但您可以在流水线详细信息中查看。内部提交的作者始终是创建合并请求的用户。
流水线在您运行流水线时存在的目标分支上运行。在您在源分支中工作期间,目标分支可能会发生变化。每当您想确保合并结果准确时,应该重新运行流水线。
当目标分支有与源分支中的更改冲突的更改时,合并结果流水线无法运行。在这些情况下,流水线作为合并请求流水线运行,并标记为 merge request
。
先决条件
要使用合并结果流水线:
- 您项目的
.gitlab-ci.yml
文件必须配置为在合并请求流水线中运行作业。 - 您的存储库必须是极狐GitLab 存储库,而不是外部存储库。
启用合并结果流水线
要在项目中启用合并结果流水线,您必须至少拥有维护者角色:
- 在左侧边栏,选择 搜索或转到 并找到您的项目。
- 选择 设置 > 合并请求。
- 在 合并选项 部分,选择 启用合并结果流水线。
- 选择 保存更改。
{{< alert type=”warning” >}}
如果您选择了复选框但没有将您的流水线配置为使用合并请求流水线,您的合并请求可能会陷入未解决的状态或您的流水线可能会被丢弃。
{{< /alert >}}
故障排除
作业或流水线意外运行 rules:changes:compare_to
当使用 rules:changes:compare_to
与合并请求流水线一起使用时,可能会有作业或流水线意外运行。
对于合并结果流水线,极狐GitLab 创建的内部提交用作比较的基础。此提交可能包含比 MR 分支的尖端更多的更改,从而导致意外的结果。
成功的合并结果流水线覆盖失败的分支流水线
当激活流水线必须成功 设置时,有时会忽略失败的分支流水线。