你知道任何构建系统都支持并行化吗?

时间:2010-05-25 19:29:45

标签: windows msbuild makefile nant parallel-processing

我正在寻找一个构建系统(在ms窗口上工作),它可以很好地支持任务/目标的并行化(或者你称之为的任何东西)。更具体一点 - 在构建期间(在MS Windows机器上启动)我需要将源文件复制到许多不同的机器(不一定是运行Windows)并在每个机器上启动远程作业 - 我真的很喜欢一次在所有机器上执行此操作。有谁知道一个能够并行执行这样一个任务的构建系统。

根据我的Google搜索,目前可用的选项是:
-j开关make - 但我不知道nmake是否支持这个 - 一些自定义的nAnt任务
-msbuild对并行化有一些形式的支持 - 看起来与make类似(意思是你没有指定并行执行的操作,只需指定以这种方式构建东西会很好)
-fake(f#make)是用函数式编程语言编写的,已知它具有良好的并行化支持 - 但我在函数式编程领域并不是很熟练。
-TeamCity对这些事情有很大的支持,但这有点“重工具”(而且太贵了)

我可以探索的其他任何解决方案吗?

4 个答案:

答案 0 :(得分:4)

答案 1 :(得分:1)

CruiseControl.NET支持并行构建,但您需要注意的是,并行构建仅在正在构建的项目不高度依赖于共享资源(如文件和其他项目)的情况下才能正常工作。构建过程通常会锁定其他并行构建可能尝试删除的文件。这可能会导致构建因“非代码”原因而失败。

答案 2 :(得分:1)

FastBuild声称是一个高度优化的系统,用于在多台计算机上为Windows和其他平台分发构建。我自己还没试过。

答案 3 :(得分:0)

我希望你可以用SCons做你想做的事,但是如果你不了解Python,可能不值得投入你的努力。如果你这样做,那就另当别论了。