В чем разница между Hudson и CruiseControl для проектов Java? - PullRequest
72 голосов
/ 03 марта 2009

Я думаю, что название подводит итог. Я просто хочу знать, почему один или другой лучше для непрерывных интеграционных сборок Java-проектов из Svn.

Ответы [ 8 ]

117 голосов
/ 20 мая 2009

Я согласен с этим ответом , но хотел добавить несколько моментов.

Короче говоря, Гудзон (обновление: Дженкинс ), вероятно, является лучшим выбором сейчас. Прежде всего, потому что создание и настройка заданий («проекты» в словаре CC) просто намного быстрее через веб-интерфейс Hudson, по сравнению с редактированием XML-файла конфигурации CruiseControl (который мы использовали для управления версиями просто для следите за этим лучше). Последнее не особенно сложно - оно просто медленнее и утомительнее.

CruiseControl был великолепен, но, как отмечается в метко названном посте Дэна Дайера, Почему вы до сих пор не используете Хадсон? , он страдает от того, чтобы быть первым. (Гм, как Британия, если хотите, позже, в индустриальную революцию, когда другие начали обгонять ее с помощью новых технологий.)

Мы интенсивно использовали CruiseControl и постепенно переключились на Hudson, наконец, используя его исключительно. И еще больше в значительной степени: в процессе мы начали использовать CI-сервер для многих других вещей, чем прежде, потому что настройка и управление заданиями Hudson очень удобны. (Сейчас у нас в Хадсоне около 40+ заданий: обычные задания по сборке и тестированию для стабильных и разрабатываемых веток; задания, связанные с выпуском (сборка инсталляторов и т. Д.); Задания, которые запускают некоторые (экспериментальные) метрики для базы кода; те, которые выполняются (медленно) ) Пользовательский интерфейс или интеграционные тесты для конкретной версии базы данных и т. Д.)

Из этого опыта я бы сказал, что даже если у вас много сборок, в том числе сложных, Hudson - довольно безопасный выбор, потому что, подобно CC, вы можете использовать его для выполнения чего угодно , в основном. Просто настройте свою работу на запуск любых целей Ant или Maven, сценариев оболочки Unix или сценариев Windows .bat в нужном вам порядке.

Что касается сторонних материалов (, упомянутых здесь Джеффри Фредриком ) - это хороший момент, но у меня сложилось впечатление, что Хадсон быстро догоняет, и что уже есть очень большое количество * Для него доступно 1031 * плагинов .

Для меня, я могу назвать две вещи, которые я скучаю по CruiseControl:

  1. Его предупреждающие письма о сломанных сборках были более информативными, чем письма Хадсона. В большинстве случаев основная причина была очевидна из красиво отформатированной HTML-почты CC, тогда как в Hudson мне обычно нужно перейти по ссылке на веб-интерфейс Hudson и немного щелкнуть вокруг, чтобы получить подробности.
  2. Панель управления CruiseControl лучше из коробки лучше использовать в качестве " информационного излучателя " (показанного на общественном мониторе или спроектированного на стене, чтобы вы могли всегда быстро вижу статус всех проектов). С первой полосой Хадсона нам потребовалось несколько трюков с Greasemonkey, чтобы получить рабочие строки, все красиво зеленые / красные.

Небольшой отказ от ответственности: я не следил за проектом CC в течение последнего года или около того. (Но из быстрого взгляда , он не изменился каким-либо существенным образом.)

Примечание (2011-02-03): Хадсон был переименован / разветвлен как Дженкинс (создатель Гудзона Кохсуке Кавагути и другие). Похоже, что Oracle, который контролирует имя Гудзона, тоже будет хранить « Hudson », но моя личная рекомендация - использовать Jenkins , независимо от того, что говорит Oracle.

36 голосов
/ 03 марта 2009

Как коммиттер CruiseControl долгое время и кто-то, кто никогда не использовал Hudson, я довольно предвзят, но мое мнение таково:

Hudson намного проще в настройке (в значительной степени благодаря красивому веб-интерфейсу) и имеет очень активное сообщество разработчиков плагинов.

CruiseControl имеет поддержку множества сторонних материалов и имеет преимущество в выполнении некоторых хитрых трюков с конфигурацией xml, таких как предконфигурация плагина и include.projects, которые позволяют вам изменять информацию о конфигурации с проектом.

Если у вас будет только несколько сборок, я думаю, что Хадсон - явный победитель. Если у вас будет много - и не обращайте внимания на xml - тогда я думаю, что уловки настройки xml CruiseControl станут настоящей силой.

30 голосов
/ 03 марта 2009

Мой последний проект, мы начали на CruiseControl. Который качался. Затем мы переехали в Гудзон, который качался еще больше. Что мне нравилось в Гудзоне:

  • Проекты по добыче и переработке. Таким образом, фиксация вашего кода доступа к данным в конечном итоге также вызовет сборку уровня представления.

  • Легко используйте существующий проект в качестве отправной точки нового - так что, если у вас есть привычка создавать ветки разработки, то убедиться, что они находятся в непрерывной интеграции, совсем несложно.

15 голосов
/ 03 марта 2009

Одно отличие состоит в том, что Гудзон является продуктом единого гениального интеллекта - Кохсуке Кавагути. Из-за этого он последовательный, последовательный и надежный. Недостатком может быть некоторое ограничение скорости прогресса. Тем не менее, Kohsuke невероятно плодовит, поэтому я не буду слишком беспокоиться об этом. И это расширяемо, поэтому, если у Kohsuke есть что-то, на что у него нет времени (или он не хочет), вы, вероятно, можете сделать это сами.

4 голосов
/ 03 марта 2009

Я посмотрел и на Круиз-контроль, и на Хадсон, но выбрал Хадсон, так как его было намного проще установить и настроить. Хадсон, кажется, очень широко используется в наши дни с регулярными выпусками и множеством расширений с помощью плагинов. Я очень рекомендую это.

3 голосов
/ 03 марта 2009

Hudson - более удобная альтернатива, на мой взгляд. Его можно полностью настроить и поддерживать с помощью веб-интерфейса (кроме первоначальной установки веб-приложения, конечно).

Единственный способ, которым это можно сказать о CruiseControl, - это если вы посчитаете встроенный редактор XML-файлов.

Тем не менее, используя оба, я бы предпочел любого из них без автоматической сборки.

1 голос
/ 17 июня 2009

Я попробовал Круиз-контроль ... Хорошо ... Но документы фрагментированы. Приборная панель сбивает с толку. Создание виджетов также сбивает с толку. Никогда не пробовал Хадсон. Постараюсь на выходных.

0 голосов
/ 19 февраля 2016

Я недавно настроил Jenkins для создания проектов Borland BDS 2006 с использованием Subversion, и я очень доволен этим. Я еще никогда не пользовался CruiseControl, поэтому не могу сравнить. Прочитайте мой блог для получения дополнительной информации.

Непрерывная интеграция проекта Delphi с Jenkins

...