我们正在使用SVN开发,没有机会切换,因为我们在一家不允许它的大公司。
我们正在开发的客户端/服务器应用程序每晚使用TeamCity构建和部署,以便第二天用户/测试人员/开发人员可以测试最新代码。由于系统的性质,必须部署一些部件才能进行测试。例如服务器端部分,Swing GUI,需要在运行之前存储在db中的新配置等。
当每个人都致力于行李箱时,这很好。但是,在我们冻结代码并上线后,我们需要切换到不同的模型。我们正在考虑对每个功能进行分支,然后合并几个分支以进行发布。
这有利于保持代码清洁,但我们如何对每个功能进行手动测试?我们没有足够的硬件来部署每个功能分支。即使我们这样做,测试也会很繁琐,因为您必须登录多个环境才能看到所有最新功能。
TeamCity是否可以从多个功能分支中自动合并到一个暂存分支?
这是针对DVCS提到的,所以并不真正适用 http://blog.jetbrains.com/teamcity/2013/10/automatic-merge/
我的其他选择是什么?
让每个人都提交一个手动构建的开发分支,然后在准备好去UAT然后生活的时候从那里开始挑选,然后从主干创建一个新的开发分支,并选择其他没有成功的提交去UAT?
答案 0 :(得分:0)
CI中功能分支的一种流行解决方案是
将您的工作提交给您的分支机构
让CI框侦听该分支存储库以运行一组基本检查(编译代码,运行所有单元和组件测试,快速冒烟测试)
如果成功,请将最新的主干合并到您的工作副本
如果合并成功且没有冲突,请将工作副本提交到主干
对来自trunk
这个想法是,你尽可能多地发布。将每个东西放在后备箱中作为生产准备好
这种方法的两个主要问题是;