【问题标题】:Do you know any build systems with decent support for parallelization?你知道任何对并行化提供良好支持的构建系统吗?
【发布时间】:2010-05-25 19:29:45
【问题描述】:

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

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

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

【问题讨论】:

    标签: windows msbuild makefile nant parallel-processing


    【解决方案1】:

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

          我希望您可以使用 SCons 做您想做的事,但如果您不了解 Python,则可能不值得投入精力。如果您会,那就是另一回事了。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-07-04
            • 2023-04-09
            • 2010-09-06
            • 2010-12-15
            • 1970-01-01
            • 1970-01-01
            • 2011-06-10
            相关资源
            最近更新 更多