目标是能够自动化构建,这样无论何时开发人员检查其代码(或合并到具有此触发器设置的特定分支),代码都应该发送到开发和QA环境。推动生产我想象需要一些人工参与。
注意:这是一个遗留应用程序,因此我们无法控制设置的内容。 团队规模约为10名开发人员。
分支策略我到目前为止:
[1]Developer branch
[2]Main (Production) branch
当开发人员创建新功能时,他们是开发人员分支的分支,如:dev_branch_feature_xyz
当他们想要推送到DEV或QA站点进行测试时,他们会合并到开发人员分支中,这将触发TeamCity首先从Main分支中提取任何更改,然后编译等,然后推送到DEV和QA服务器
现在,如果QA签署了一项功能并准备投入生产,那么如何将正确的代码提取到主分支并将更改推送到我们的UAT环境然后生产?
例如,功能#1可能会合并到dev,然后功能#2,然后程序员可能会将功能#1的错误修复再次合并到dev中,也可能是功能#2的另一个合并,所以DEV分支现在具有功能#1和功能#2的部分功能,并且现在无法选择要推送到MAIN分支的代码(如果说功能#1已准备好进行生产)。
另外,这是一个合理的策略吗?你们看到的任何问题?
请记住:目前大部分都是手动(合并,推送到服务器),但目标是转向使用TeamCity,因此我需要立即设置分支策略。