使用 GitLab Flow,如何将单个更改从较低环境合并到较高环境?

问题描述 投票:0回答:0

我正在评估 GitLab Flow 作为一个由大约 20 名开发人员组成的团队的潜在分支策略。我不清楚的过程是如何将变化“提升”到更高的环境。

按照链接文档中的示例,假设我有三个分支匹配的环境:

Staging
Pre-Prod
Production
。我的理解是,一旦
Staging
测试通过,Staging 分支的
entire
将合并到
Pre-Prod
以进行额外(更广泛的)测试。现在,假设功能 A 和功能 B 都由两个独立的开发人员开发,并在
Staging
中进行测试。功能 A 通过了测试,但功能 B 由于某种原因失败了,需要做更多的工作。在我看来,这引入了 A 和 B 之间的依赖关系,其中 A 不能在没有 B 的情况下发布到
Pre-Prod
,因为
Staging
不能合并到
Pre-Prod
直到两者都通过测试。根据我的经验,功能 A 的开发人员很可能会同时转移到功能 C,这本身可能会导致测试失败,从而创建一系列依赖关系并阻止
Staging
处于合并到
Pre-Prod
的状态。我们的团队在任何时候都有 7 或 8 个功能处于不同的就绪状态并不罕见,所以这对我来说似乎并不罕见。

我是否忽略了这个模型的某些方面,或者这个特征是否相互依赖?使用此策略的人是否遇到过此类问题?

我看到的唯一真正的解决方案是从

Staging
中挑选个别特征到
Pre-Prod
中。作为偶尔出现的问题的解决方法,这听起来很合理,但对每个功能都这样做似乎需要管理
Pre-Prod
.

状态的人的大量开销

在我看来,这个问题可以通过更强大的自动化测试和功能标志来缓解,但即便如此,也无法保证任何特定开发人员的更改不会引入意外的回归。

git gitlab branching-and-merging branching-strategy
© www.soinside.com 2019 - 2024. All rights reserved.