2009-11-11 4 views
3

Distcc позволяет легко распространять компиляцию на C или C++ на нескольких машинах и является находкой для работы с большими, часто создаваемыми кодовыми базами.Java Equivalent distcc

Однако в наши дни все большее число наших крупных проектов построено на Java. Кто-нибудь знает что-то эквивалентное или подобное для Java? Хотя было бы здорово, если бы это спустилось до уровня javac, наши многомодульные проекты выиграли бы от возможности распределять каждый суб-проект maven 2 на другую машину. (Завязка на maven могла бы быть лучше, поскольку это позволило бы распределять тесты и упаковку, что часто занимает значительную часть нашего времени сборки.)

Спасибо за любую информацию или указатели!

ответ

2

Насколько я знаю, в мире Java нет эквивалента distcc.

Как упоминалось Aaron, многие серверы непрерывной интеграции (с открытым исходным кодом, такие как Hudson или коммерческие, такие как Bamboo, TeamCity) имеют поддержку распределенных сборок, но я не думаю, что это решит вашу проблему. AFAIK, эти инструменты распространяют задания на сборку (т. Е. Целую сборку нескольких модулей maven), а не сборку модулей сборки нескольких модулей (которые могут иметь зависимости, нуждаются в выходе предыдущего модуля и, таким образом, не могут быть распараллелены в любом случае). Другими словами, это полезно, если у вас много проектов/филиалов на ферме построения (по крайней мере для Хадсона, у меня меньше знаний о других решениях).

2

Попробуйте CI-сервер, например TeamCity. Они могут распространять проекты на нескольких агентах.

+0

Мне нравится идея, но в идеале, как и наши разработчики, вы сможете использовать ее, а не только наши сборки CI. Однако я взгляну на TeamCity; он выглядит аккуратно. –

+0

Если вы сообщите серверу CI о развертывании артефактов в вашем внутреннем хранилище, разработчики смогут автоматически загрузить последнюю сборку (вместо того, чтобы создавать ее самостоятельно). –

2

Вот родственный вопрос делать параллельно строит в Maven:

Maven: how to do parallel builds?

Один из вопросов есть ссылка на билет Jira, чтобы включить эту функцию, которая обеспечивала бы большую часть выгоды я нахожусь ищет:

http://jira.codehaus.org/browse/MNG-3004

Я определенно буду смотреть, что билет с интересом. :)