Вопрос

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

Это было полезно?

Решение

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

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

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

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

Другие советы

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

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

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

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

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

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

Лично я могу назвать две вещи, которых мне не хватает в CruiseControl:

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

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

Примечание (03.02.2011):Хадсон был переименован/раздвоен как Дженкинс (от создателя Хадсона Косуке Кавагути и другие).Похоже, что Oracle, которая контролирует имя Hudson, сохранитХадсон" тоже, но моя личная рекомендация – использовать Дженкинс, независимо от того, что говорит Oracle.

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

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

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

Единственное отличие состоит в том, что Хадсон является продуктом одного гениального интеллекта — Косуке Кавагути.Благодаря этому он последовательный, последовательный и прочный.Обратной стороной может стать некоторое ограничение скорости прогресса.Однако Косуке невероятно плодовит, так что я бы не слишком беспокоился по этому поводу.И он расширяем, поэтому, если у Косуке нет на что-то времени (или он не хочет), вы, вероятно, сможете сделать это самостоятельно.

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top