是否可以使用CruiseControl.Net建立构建服务器场?我们目前有4种不同的构建机器在不同的时间构建不同的东西,并且有点令人头疼,以某种方式手动平衡负载。我更愿意将其中一个指定为主构建机器,当它们空闲时,它们会将工作委托给其他人。
答案 0 :(得分:4)
据我所知,CruiseControl.Net不支持构建服务器场 - 至少不按照您描述的方式运行。 CCNet对“farm”的解释似乎假设项目是手动分配给一台机器的,而一个给定的项目总是建在同一台机器上。
如果要动态选择实际执行构建的计算机,则需要创建自己的机制来选择该计算机并触发其上的构建。与此相关的可能性相当复杂。例如,如果在前一次提交仍在处理过程中发生第二次提交,则可能需要确保同一项目不会同时在两台不同的机器上构建。
如果存在所有构建计算机都可以访问的共享位置,则可以使用Filesystem源控制块或CCNet的ForceBuild机制在指定的计算机上启动构建,但让所有构建计算机发布其输出对于给定项目到同一个最终位置。
答案 1 :(得分:3)
请参阅load-Balancing the Build Farm with CruiseControl.NET blogpost了解可能的解决方案