Distcc可以很容易地在许多机器上分配C或C++编译作业,并且对于使用大型的经常构建的代码库来说是天赐之物。Java当量的distcc
但是,现在越来越多的大型项目都是用Java构建的。有谁知道Java的某些等效或类似的东西?虽然如果它会下降到javac级别,那么我们的多模块项目将会受益于能够将每个maven 2子项目分发到不同的机器。 (与maven绑定实际上可能会更好,因为这样可以分发测试和打包,这通常需要我们构建时间的很大一部分。)
感谢您的任何信息或指示!
Distcc可以很容易地在许多机器上分配C或C++编译作业,并且对于使用大型的经常构建的代码库来说是天赐之物。Java当量的distcc
但是,现在越来越多的大型项目都是用Java构建的。有谁知道Java的某些等效或类似的东西?虽然如果它会下降到javac级别,那么我们的多模块项目将会受益于能够将每个maven 2子项目分发到不同的机器。 (与maven绑定实际上可能会更好,因为这样可以分发测试和打包,这通常需要我们构建时间的很大一部分。)
感谢您的任何信息或指示!
据我所知,Java世界中没有相应的distcc
。如Aaron所述,许多持续集成服务器(开放源码如Hudson或像Bamboo,TeamCity这样的商业公司)支持分布式构建,但我认为这不会解决您的问题。 AFAIK,这些工具分发构建作业(即整个多模块maven构建),而不是多模块构建模块的构建(可能具有依赖性,需要前一个模块的输出,因此可能无法进行并行处理)。换句话说,如果您在构建服务器场中有许多项目/分支(至少对于哈德森,我对其他解决方案的了解较少),这非常有用。
尝试CI服务器,如TeamCity。他们可以将项目建立在几个代理商之间。
这里做平行的一个相关的问题建立在Maven的:
Maven: how to do parallel builds?
其中一个问题有一个链接到吉拉票启用此功能,这将提供很多我的好处寻找:
http://jira.codehaus.org/browse/MNG-3004
我肯定会密切关注有兴趣地票。 :)
我喜欢这个想法,但理想情况下,我们的开发人员的构建也能够从中受益 - 而不仅仅是我们的CI构建。不过,我会看看TeamCity;它看起来很整齐。 – 2009-11-11 15:17:07
如果您告诉CI服务器将工件部署到自己的仓库中,开发人员可以自动下载最新的构建版本(而不是自行构建)。 – 2009-11-11 16:45:33