4

是否可以使用 CruiseControl.Net 建立构建农场?我们目前有 4 台不同的构建机器在不同的时间构建不同的东西,并且以某种方式手动平衡负载有点头疼。我更愿意指定其中一台作为主构建机器,当它们空闲时将工作委派给其他机器。

4

2 回答 2

4

据我所知,CruiseControl.Net 不支持构建农场 - 至少不是按照您描述的方式操作。CCNet 对“农场”的解释似乎假设项目是手动分配给机器的,并且给定的项目将始终构建在同一台机器上。

如果您想动态选择实际执行构建的机器,则需要创建自己的机制来选择该机器并在其上触发构建。与此相关的可能有相当多的复杂性。例如,如果在前一次提交仍在处理期间发生第二次提交,您可能需要确保不会在两台不同的机器上同时构建同一个项目。

如果有一个所有构建机器都可以访问的共享位置,则可以使用 Filesystem 源代码控制块或 CCNet 的 ForceBuild 机制在指定机器上开始构建,但让所有构建机器针对给定的机器发布它们的输出项目到相同的最终位置。

于 2009-06-10T17:45:14.837 回答
3

有关可能的解决方案,请参阅使用 CruiseControl.NET 博客文章对构建场进行负载平衡

于 2009-06-12T06:40:38.493 回答