“变基,不运行流水线”和“跳过的流水线视为成功”的功能协同问题

问题(Problem to solve)

某付费客户单条流水线构建时间较长,约1-2小时,基于分支开发并通过MR进行评审。要求:

  1. 使用FF模式进行合并
  2. 流水线必须成功才能合并
  3. 当目标分支代码发生变化时,源分支需要执行变基操作,但不要运行流水线。因为用时太久,此时如果目标分支还有变化,又需要变基和运行流水线,形成循环严重影响效率。

按照文档 https://docs.gitlab.com/ee/user/project/merge_requests/methods/#rebase-without-cicd-pipelinehttps://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html#allow-merge-after-skipped-pipelines, 开启“快进式(Fast-forward)合并”和“跳过的流水线视为成功”,可满足需求1和3。

用户希望执行“变基,不运行流水线”之前,如果源分支的流水线也成功,那么允许合并。如果源分支的流水线没有成功,应该阻止合并,而不是覆盖此前的流水线状态。否则无法满足需求2。

客户链接(Customer Link)

解决方案(Proposal)

  • 方案1:目前是否有相关功能可以解决该问题
  • 方案2:当“变基,不运行流水线”和“跳过的流水线视为成功”同时存在时,应判断变基前,最后一次流水线是否成功,如没有,则不允许合并
  • 方案3:点“变基,不运行流水线”前,确认“流水线必须成功”

针对的用户(Intended users)

Rang Wu 编辑于