Я думаю, что название подводит итог. Я просто хочу знать, почему один или другой лучше подходит для непрерывных интеграционных сборников Java-проектов из Svn.В чем разница между проектами Hudson и CruiseControl для Java?
ответ
Как долго CruiseControl коммиттеру и кто никогда не использовал Хадсона, я довольно предвзято, но мой взять на нем:
Хадсон гораздо легче получить и работает (в значительной степени от хороший веб-интерфейс) и имеет очень активное сообщество разработчиков плагинов.
CruiseControl имеет поддержку от множества 3rd party stuff и имеет смысл делать некоторые аккуратные трюки с конфигурацией xml, такой как предварительная конфигурация плагина и include.projects, которая позволяет вам отображать информацию о конфигурации с проектом.
Если у вас будет только несколько сборок, я думаю, что Гудзон - явный победитель. Если у вас будет много - и не против xml, то я думаю, что трюки конфигурации xml от CruiseControl станут настоящей силой.
Одно отличие состоит в том, что Хадсон является продуктом одного гениального интеллекта — Kohsuke Kawaguchi. Из-за этого он последователен, согласован и тверд. Недостатком может быть некоторое ограничение скорости прогресса. Тем не менее, Кохсуке невероятно плодовито, поэтому я не стал бы слишком беспокоиться об этом. И это расширяемо, поэтому, если у Кохсука нет времени (или не хочет), вы, вероятно, можете сделать это сами.
Мой последний проект, мы начали с CruiseControl. Который качнулся. Затем мы переехали в Хадсон, который еще больше качался. То, что мне понравилось в Хадсоне:
Проекты в верхнем и нижнем течении. Таким образом, фиксация вашего кода доступа к данным в конечном итоге также приведет к созданию уровня представления.
Легко использовать существующий проект как отправную точку нового, так что если вы привыкли создавать ветви разработки, то убедитесь, что они находятся в непрерывной интеграции.
+1, полностью согласен, особенно о втором пункте. Из-за этого мы закончили использование Хадсона из-за этого (подробнее об этом: http://stackoverflow.com/questions/604385/what-is-the-difference-between-hudson-and-cruisecontrol-for- java-projects/888054 # 888054) – Jonik
Что касается вашей второй точки, «[u] s [существующий] проект как отправная точка для нового» также легко с CC: просто скопируйте соответствующие файлы, внести соответствующие изменения и зарегистрировать новый проект в 'ccnet.config'. Довольно просто. «Легко» в этом случае может быть просто «легко» вообще при рассмотрении Дженкинса над CC - делать это в графическом интерфейсе и XML-файлах. TMTOWTDI, но это не особенно сложно. – J0e3gan
Hudson - это более удобная альтернатива, на мой взгляд. Он может быть настроен и поддерживается полностью через веб-интерфейс (кроме начальной установки webapp, конечно).
Единственный способ, который можно сказать о CruiseControl, - это подсчитать встроенный редактор XML-файлов.
Тем не менее, используя оба варианта, я все равно предпочел бы, чтобы у кого-то не было автоматической сборки.
«Тем не менее, используя оба варианта, я бы предпочел, чтобы у кого-то не было автоматической сборки». +1 для меры здравомыслия. Среди всех ярости и высокой религиозности, окружающих Дженкинса в последнее время, люди слишком часто, похоже, забывают, что CC, Дженкинс и другие зрелые альтернативы CI - это средства к концу - конец в конечном счете является тем, что имеет значение больше, чем средства. Лично я нахожу CC простым в использовании, даже как относительный новичок в нем. Дженкинс тоже в порядке. Но сделать такое крупное дело в отношении одного против другого - это много шума от ИМО. – J0e3gan
Я смотрел как на Cruise Control, так и на Hudson, но выбирал Hudson, так как было намного проще настроить и настроить. Хадсон кажется очень широко используемым в наши дни с регулярными выпусками и множеством расширяемости через плагины. Я бы очень рекомендовал его.
Я согласен с 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 являются:
- предупредительных письма о сломанных сборках были более информативными, чем Хадсон. В большинстве случаев первопричина была очевидна из хорошо отформатированной HTML-почты CC, в то время как с Хадсоном мне обычно нужно следовать ссылке на веб-интерфейс Hudson, и немного щелкнуть по ней, чтобы получить детали.
- CruiseControl dashboard лучше подходит, из коробки, как «information radiator» (отображается на общественном мониторе или проецируется на стену, чтобы вы всегда могли быстро видеть статус всех проектов). С первой страницей Хадсона нам нужны были трюки Greasemonkey, чтобы получить рабочие ряды, все красиво зеленые/красные.
Незначительный отказ от ответственности: я не следил за проектом CC в течение последнего года или около того. (Но с quick look, он не изменился в любом драматическим образом.)
Примечание (2011-02-03): Хадсон был renamed/forked в Jenkins (от Hudson создателя Kohsuke Kawaguchi и другие). Похоже, что Oracle, который контролирует имя Хадсона, тоже будет поддерживать «Hudson», но моя личная рекомендация - пойти с Jenkins, независимо от того, что говорит Oracle.
Почти 2 года спустя я до сих пор согласен со всем, что я написал выше о Хадсоне (теперь его переименовали в Дженкинса) (http://jenkins-ci.org/content/hudsons-future)). В качестве дополнения, вот еще несколько интересных вещей, с которыми я использовал Hudson с тех пор: Запустите новые экземпляры AWS EC2 из определенного AMI и разверните наше последнее программное обеспечение прямо из управления версиями; Позвольте (технически подкованному) клиенту контролировать появление демонстрационного приложения (путем редактирования файла конфигурации, которое использует приложение), а также запустить определенные операции администратора с базой данных, используемой приложением (параметризованные задания полезны) ... (cont) – Jonik
... Периодически проверяйте, что веб-сайт или служба запущена; Автоматически объединять изменения с соединительной линии на все рабочие ветви вскоре после успешной сборки соединительных линий; и так далее. Стоит отметить, что в большинстве случаев Хадсон был просто ** front-end ** для сценария оболочки/Python/etc или более «видимой» заменой для cronjob. Но тогда это очень хорошо для таких целей! В одном проекте клиент специально попросил больше вакансий Хадсона для администрирования/ведения домашнего хозяйства после того, как я это сделал; для потребностей, которые у них были вполне адекватными, и гораздо удобнее, чем заходить на сервер для запуска сценария. – Jonik
Я пробовал круиз-контроль ... Его хорошо ... Но документы фрагментированы. Панель управления запутана. Создание виджета также запутывает. Никогда не пробовал хадсон. Попробуй в выходные.
Недавно я установил Jenkins для создания проектов Borland BDS 2006 с использованием Subversion, и я очень доволен им. Я еще никогда не использовал CruiseControl, поэтому сравнивать не могу. Прочтите мое сообщение в блоге для получения дополнительной информации.
- 1. Преобразование CruiseControl в Hudson
- 2. В чем разница между **/*. Java и * .java?
- 3. В чем разница между рабочими пространствами и проектами
- 4. В чем разница между проектами и библиотеками в пути сборки eclipse для любого проекта java
- 5. В чем разница между = и == в java?
- 6. В чем разница между `| `и` || `в java?
- 7. В чем разница между: = и =! в Java?
- 8. В чем разница между java и jsp?
- 9. В чем разница между PHP и Java?
- 10. В чем разница между JavaScript и Java?
- 11. В чем разница между + = и = +?
- 12. В чем разница между «» и «»?
- 13. В чем разница между Phing и PHPUnderControl?
- 14. В чем разница между/* ... */и/** ... */
- 15. В чем разница между следующим .... Разница одинакова для c & java?
- 16. В чем разница между «./» и «../»?
- 17. В чем разница между CLDC и MIDP для Java Mobile?
- 18. В чем разница между JNI и java wrapper для C
- 19. В чем разница между ::: и ++ для списков?
- 20. Разница между веб-проектами с pom.xml и web.xml
- 21. В чем разница между решениями
- 22. В чем разница между «и»?
- 23. В чем разница между `{}` и `[]`?
- 24. В чем разница между == и ===?
- 25. В чем разница между «+» и «\ +»?
- 26. В чем разница между: и +:
- 27. В чем разница между $ {} и # {}
- 28. В чем разница между $ _. и $ _
- 29. В чем разница между = и: =
- 30. В чем разница между && и &?
Ссылка на «Сторонний материал» не работает. –