是否有已知的解决方案可以跨网络机器拆分构建过程?
用例:
我们是一家普通的软件开发公司。我们拥有大约 50 个开发工作站(四核 2.66Ghz,4 GB 内存,200 GB RAID)。无需说明,在任何时候并不是每台机器都加载到最大。
任何时候都有 5 到 15 个项目同时运行。显然,它们都是在服务器上不断构建的,而不是部署到适当的环境中。单个项目构建需要 3 到 15 分钟。
问题:每当我们连续构建 5 个项目时,最后一个项目将在大约 25 - 50 分钟后准备好。并行构建并不能解决问题(构建只是游戏的一部分,而不是您需要部署、运行测试等)
是的,正确的解决方案是添加另一个构建服务器,但是“这涉及购买新的昂贵的硬件,我们已经花了很多钱!”。是的,对(该死的)!
反正。在开发人员工作站之间拆分构建怎么样?假设每当我们需要构建项目“A”时,我们检查 5 个工作站并开始构建所有未超载的工作站。如果开发人员确实需要机器的所有功能,只要至少有一台仍在构建的机器,就可以取消构建。构建完成后,可以在适当的环境中执行部署(托管在某些服务器上,而不是工作站上:))。公司越大,这对我来说就越有意义。
有人尝试过这样的事情吗?有什么好的做法吗?有什么好用的软件吗?
(90% 的项目是.net C#,平台 - Windows)