是否可以使用 CruiseControl.Net 来设置构建场?我们目前有 4 台不同的构建机器在不同的时间构建不同的东西,并且以某种方式手动平衡负载有点头疼。我更愿意指定其中的一个作为主构建机器,当他们空闲时将工作委派给其他人。
最佳答案
据我所知,CruiseControl.Net 不支持构建农场 - 至少没有按照您描述的方式进行操作。 CCNet 对“农场”的解释似乎假设项目是手动分配给一台机器的,并且给定的项目将始终构建在同一台机器上。
如果您想动态选择实际执行构建的机器,则需要创建自己的机制来选择该机器并在其上触发构建。与此相关的可能相当复杂。例如,如果在前一次提交仍在处理中时发生第二次提交,您可能需要确保不会在两台不同的机器上同时构建同一个项目。
如果存在所有构建机器都可以访问的共享位置,则可以使用 Filesystem 源代码控制块或 CCNet 的 ForceBuild 机制在指定机器上启动构建,但让所有构建机器针对给定的机器发布它们的输出项目到相同的最终位置。
关于continuous-integration - 使用ccnet建立农场,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/807529/