2009-11-11 22 views
3

Distcc可以很容易地在许多机器上分配C或C++编译作业,并且对于使用大型的经常构建的代码库来说是天赐之物。Java当量的distcc

但是,现在越来越多的大型项目都是用Java构建的。有谁知道Java的某些等效或类似的东西?虽然如果它会下降到javac级别,那么我们的多模块项目将会受益于能够将每个maven 2子项目分发到不同的机器。 (与maven绑定实际上可能会更好,因为这样可以分发测试和打包,这通常需要我们构建时间的很大一部分。)

感谢您的任何信息或指示!

回答

2

据我所知,Java世界中没有相应的distcc。如Aaron所述,许多持续集成服务器(开放源码如Hudson或像Bamboo,TeamCity这样的商业公司)支持分布式构建,但我认为这不会解决您的问题。 AFAIK,这些工具分发构建作业(即整个多模块maven构建),而不是多模块构建模块的构建(可能具有依赖性,需要前一个模块的输出,因此可能无法进行并行处理)。换句话说,如果您在构建服务器场中有许多项目/分支(至少对于哈德森,我对其他解决方案的了解较少),这非常有用。

2

尝试CI服务器,如TeamCity。他们可以将项目建立在几个代理商之间。

+0

我喜欢这个想法,但理想情况下,我们的开发人员的构建也能够从中受益 - 而不仅仅是我们的CI构建。不过,我会看看TeamCity;它看起来很整齐。 – 2009-11-11 15:17:07

+0

如果您告诉CI服务器将工件部署到自己的仓库中,开发人员可以自动下载最新的构建版本(而不是自行构建)。 – 2009-11-11 16:45:33