“变基,不运行流水线”和“跳过的流水线视为成功”的功能协同问题
问题(Problem to solve)
某付费客户单条流水线构建时间较长,约1-2小时,基于分支开发并通过MR进行评审。要求:
- 使用FF模式进行合并
- 流水线必须成功才能合并
- 当目标分支代码发生变化时,源分支需要执行变基操作,但不要运行流水线。因为用时太久,此时如果目标分支还有变化,又需要变基和运行流水线,形成循环严重影响效率。
按照文档 https://docs.gitlab.com/ee/user/project/merge_requests/methods/#rebase-without-cicd-pipeline 和https://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 编辑于