Merge when pipeline succeeds

Merge when pipeline succeeds

在查看看起来准备合并但仍在运行管道的合并请求时,可以将其设置为在管道成功时自动合并. 这样,您不必等待管道完成,而不必记住手动合并请求.

当您单击”管道成功时合并”时,合并请求的状态将更新以显示即将进行的合并. 如果您不能等待管道成功,则可以立即在主按钮右侧的下拉菜单中选择” 合并” .

合并请求的作者和具有开发人员权限的项目成员可以在管道完成之前的任何时间取消自动合并.

重试作业并第二次尝试成功后,合并请求将自动合并. 当使用新提交更新合并请求时,自动合并将被取消以允许查看新更改.

如果合并请求的管道未成功或存在要解析的线程,则可以阻止合并请求. 这对两个都适用:

因此, 不会禁用此功能,因为可以将外部 CI 提供程序的管道与该功能一起使用. 要启用它,您必须:

  1. 展开合并请求部分.
  2. 在” 合并检查”小节中,选中” 管道必须成功”复选框.
  3. 保存使更改生效.

This setting also prevents merge requests from being merged if there is no pipeline.

启用此设置后,如果没有管道,将阻止合并请求. 这可能与使用或且不生成任何管道的某些用例相冲突.

如果为单个合并请求触发了分支管道和合并请求管道,则仅检查合并请求管道的成功或失败. 如果合并请求管道配置的工作少于分支管道,则它可能允许失败测试的代码被合并:

您应该避免这样的配置,并尽可能使用分支( )管道或合并请求管道. 有关在单个合并请求中避免使用两个管道的详细信息,请参见 .

Skipped pipelines

在 GitLab 13.1 中 .

选中” 管道必须成功”复选框时, 跳过的管道会阻止合并请求被合并. 更改此行为:

  1. 导航到项目的“设置”>”常规”页面.
  2. 展开合并请求部分.
  3. 在” 合并检查”小节中,确保已选中” 管道必须成功” .
  4. 保存使更改生效.

当从命令行进行时,当管道成功请求合并请求时,可以使用” 推送选项”启用合并.