2009-03-02 1 views

ответ

36

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

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

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

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

+2

Ссылка на «Сторонний материал» не работает. –

15

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

30

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

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

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

+4

+1, полностью согласен, особенно о втором пункте. Из-за этого мы закончили использование Хадсона из-за этого (подробнее об этом: http://stackoverflow.com/questions/604385/what-is-the-difference-between-hudson-and-cruisecontrol-for- java-projects/888054 # 888054) – Jonik

+1

Что касается вашей второй точки, «[u] s [существующий] проект как отправная точка для нового» также легко с CC: просто скопируйте соответствующие файлы, внести соответствующие изменения и зарегистрировать новый проект в 'ccnet.config'. Довольно просто. «Легко» в этом случае может быть просто «легко» вообще при рассмотрении Дженкинса над CC - делать это в графическом интерфейсе и XML-файлах. TMTOWTDI, но это не особенно сложно. – J0e3gan

3

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

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

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

+0

«Тем не менее, используя оба варианта, я бы предпочел, чтобы у кого-то не было автоматической сборки». +1 для меры здравомыслия. Среди всех ярости и высокой религиозности, окружающих Дженкинса в последнее время, люди слишком часто, похоже, забывают, что CC, Дженкинс и другие зрелые альтернативы CI - это средства к концу - конец в конечном счете является тем, что имеет значение больше, чем средства. Лично я нахожу CC простым в использовании, даже как относительный новичок в нем. Дженкинс тоже в порядке. Но сделать такое крупное дело в отношении одного против другого - это много шума от ИМО. – J0e3gan

4

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

117

Я согласен с this answer, но хотел бы добавить несколько пунктов.

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

CruiseControl была велика, но, как было отмечено в метко названном блоге Дэн Дайер, Why are you still not using Hudson?, он страдает от того, первого. (Ум, как и Британия, если хотите, позже в индустриальную революцию, когда другие начали обгонять ее новыми технологиями.)

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

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

Что касается стороннего материала (mentioned here by Jeffrey Fredrick) - это хороший момент, но у меня сложилось впечатление, что Хадсон быстро догоняет и что для него уже очень много plugins available.

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

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

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

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

+16

Почти 2 года спустя я до сих пор согласен со всем, что я написал выше о Хадсоне (теперь его переименовали в Дженкинса) (http://jenkins-ci.org/content/hudsons-future)). В качестве дополнения, вот еще несколько интересных вещей, с которыми я использовал Hudson с тех пор: Запустите новые экземпляры AWS EC2 из определенного AMI и разверните наше последнее программное обеспечение прямо из управления версиями; Позвольте (технически подкованному) клиенту контролировать появление демонстрационного приложения (путем редактирования файла конфигурации, которое использует приложение), а также запустить определенные операции администратора с базой данных, используемой приложением (параметризованные задания полезны) ... (cont) – Jonik

+1

... Периодически проверяйте, что веб-сайт или служба запущена; Автоматически объединять изменения с соединительной линии на все рабочие ветви вскоре после успешной сборки соединительных линий; и так далее. Стоит отметить, что в большинстве случаев Хадсон был просто ** front-end ** для сценария оболочки/Python/etc или более «видимой» заменой для cronjob. Но тогда это очень хорошо для таких целей! В одном проекте клиент специально попросил больше вакансий Хадсона для администрирования/ведения домашнего хозяйства после того, как я это сделал; для потребностей, которые у них были вполне адекватными, и гораздо удобнее, чем заходить на сервер для запуска сценария. – Jonik

1

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

0

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

Continuous integration of Delphi project with Jenkins

Смежные вопросы