2

目标是能够自动化构建,因此每当开发人员签入他们的代码(或合并到具有此触发器设置的特定分支)时,代码都应该发送到开发和质量保证环境。我想推动生产需要一些人工参与。

注意:这是一个遗留应用程序,因此我们无法控制设置了多少东西。团队规模约为 10 名开发人员。

到目前为止我的分支策略:

[1]Developer branch
[2]Main (Production) branch

当开发人员创建新功能时,他们的开发人员分支分支如下:dev_branch_feature_xyz

当他们想要推送到 DEV 或 QA 站点进行测试时,他们会合并到开发人员分支中,这将触发 TeamCity 首先从主分支中提取任何更改,然后编译等,然后推送到 DEV 和 QA 服务器。

现在,如果 QA 已经签署了一项功能并准备好投入生产,如何将正确的代码拉到 Main 分支并将更改推送到我们的 UAT 环境,然后再投入生产?

例如,feature#1 可能会合并到 dev,然后 feature#2,然后程序员可能会将 feature#1 的错误修复再次合并到 dev,并且可能会再次合并 feature#2,所以 DEV 分支现在有部分feature#1 和 feature#2,现在没有办法挑选代码推送到 MAIN 分支(如果说 feature#1 已准备好用于生产)。

另外,这是一个合理的策略吗?大家有看到什么问题吗?

记住:目前大部分都是手动的(合并、推送到服务器),但目标是转向使用 TeamCity,所以我现在需要设置分支策略。

4

0 回答 0