Как выбрать между Хадсоном и Дженкинсом?
Мне потребовался час или около того, чтобы понять, что Гудзон только недавно разветвился (январь 2011)
Я понятия не имею, насколько быстро происходит смена каждой ветви, но, что более важно, в каком направлении движется каждая ветка, и каковы ключевые моменты, чтобы можно было выбирать, с чем идти?
У кого-нибудь есть ссылки на дорожную карту продукта и особенности?
8 ответов
Используйте Дженкинс.
Дженкинс - недавний форк от основных разработчиков Hudson. Чтобы понять почему, нужно знать историю проекта. Первоначально он был с открытым исходным кодом и поддерживается Sun. Как и многое из того, что делал Солнце, оно было довольно открытым, но было немного мягкого пренебрежения. Источник, трекеры, веб-сайт и т. Д. Были размещены Sun на их относительно закрытой платформе java.net.
Затем Оракул купил Sun. По разным причинам Oracle не стесняется использовать то, что воспринимает как свои активы. К ним относятся некоторый контроль над логистической платформой Гудзона и, в частности, контроль над именем Гудзона. Многим пользователям и авторам это не понравилось, и они решили уйти.
Так что все сводится к тому, что предлагает Хадсон против Дженкинс. И Oracle, и Гудзон, и Дженкинс имеют код. У Хадсона есть корпоративная поддержка Oracle и Sonatype, а также бренд. У Дженкинса есть большинство основных разработчиков, сообщество и (пока) гораздо более актуальная работа.
Прочитайте этот пост, который я связал вверх, а затем прочитайте остальные в хронологическом порядке. Для баланса вы можете прочитать о Hudson/Oracle. Мне довольно ясно, кто играет в обороне и у кого есть реальные намерения для проекта.
Как написал chmullig, используйте Дженкинс. Некоторые дополнительные пункты:
На самом деле, возможно, это был Oracle, который сделал разветвление! И технически тоже, вроде как и случилось.
Интересно посмотреть, что получается из "Гудзона". Хотя материал "Уинстон суммирует состояние и радужное будущее проекта Хадсон", который они разместили на (новом) веб-сайте Хадсона, первоначально казался мне странным юмором, возможно, это было целенаправленное поглощение, и у парней из Sonatype на самом деле есть некоторые большие идеи. их рукав. Этот анализ, предлагающий преднамеренную стратегию Oracle/Sonatype по вытеснению Kohsuke и команды для создания более "предприимчивого" Хадсона, очень интересное чтение!
В любом случае, это краткое сравнение через две недели после раскола, хотя и не совсем научное, показывает, что Дженкинс гораздо активнее из двух проектов.
... и немного дополнительной информации:
Создатель Hudson, Kohsuke Kawaguchi, начал проект в свое свободное время, даже если он работал в Sun Microsystems, а позже заплатил им за его дальнейшее развитие. Как заметил @erickson на другом вопросе,
[Хадсон / Дженкинс] - продукт единого гениального интеллекта - Кохсуке Кавагути. Из-за этого он последовательный, последовательный и надежный.
После приобретения Oracle, Коусуке долго не задерживался (из-за нехватки мониторов...?; -]) и пошел работать в CloudBees. То, что началось в конце 2010 года как конфликт между инструментами сообщества разработчиков и Oracle и закончилось переименованием / разветвлением / разделением, хорошо задокументировано в ссылках, предоставленных chmullig. Для меня вся эта загадка говорит, возможно, больше, чем что-либо еще, о полной неспособности или нежелании Oracle спонсировать проект с открытым исходным кодом таким образом, чтобы все стороны (Oracle, разработчики, пользователи) были довольны. Это не в их ДНК или чем-то подобном, как мы видели и в других случаях.
Учитывая все вышесказанное, я бы лично следил за Kohsuke и другими основными разработчиками в этом вопросе, и пошел бы с Дженкинсом.
Просто мое мнение по этому вопросу, три месяца спустя:
Дженкинс продолжил путь, пройденный оригинальным Хадсоном, с частыми выпусками, включая множество незначительных обновлений.
Похоже, что Oracle в основном поручил работу над будущим путем для Хадсона команде Sonatype, которая внесла некоторые существенные изменения, особенно в отношении Maven. Они вместе перенесли его в фонд Eclipse.
Я хотел бы предложить, что если вам нравится звук:
- менее частые выпуски, но те, которые более интенсивно тестируются на обратную совместимость (больше в цикле выпуска "корпоративного стиля")
- продукт, ориентированный в первую очередь на сильную интеграцию Maven и / или Nexus (то есть вы не заинтересованы в Gradle, Artifactory и т. д.)
- предложения профессиональной поддержки от Sonatype или, возможно, Oracle, предпочтение Cloudbees и т. д.
- Вы не против иметь меньшее сообщество разработчиков плагинов и т.д.
Тогда я бы предложил Хадсон.
И наоборот, если вы предпочитаете:
- более частые обновления, даже если они требуют более частой настройки и, возможно, немного более рискованны с точки зрения совместимости (более "последний и самый лучший" цикл выпуска)
- система с более активной поддержкой сообщества, например, другие системы сборки / хранилища артефактов
- предложения поддержки от оригинального создателя и соавт. и / или у вас нет интереса к профессиональной поддержке (например, вы счастливы, если вы можете получить исправление в "последней и лучшей" на следующей неделе)
- классическое зелье ведьм в стиле OSS экосистемы развития
тогда я бы предложил Дженкинс. (и, как заметил комментатор, у Дженкинса теперь также есть релизы "LTS", которые поддерживаются в более "стабильной" ветке)
Консервативный курс - выбрать Хадсона сейчас и перейти на Дженкинс, если обязательные функции недоступны. Динамический курс будет состоять в том, чтобы выбрать Jenkins сейчас и перейти на Hudson, если погоня за обновлениями становится слишком трудоемкой, чтобы ее оправдывать.
Вначале... Я коммиттер Гудзона и автор книги Гудзона, но я не участвовал во всем расколе проектов.
В любом случае вот мой совет:
Проверьте оба и посмотрите, что соответствует вашим потребностям лучше.
Хадсон собирается завершить переход к проектам Eclipse высшего уровня в конце этого года, и у него есть целая куча постоянных разработчиков, QA и других, работающих над проектом. Он по-прежнему набирает силу и имеет много пользователей, и, будучи CI-сервером по умолчанию в Eclipse, он по-прежнему будет обслуживать потребности многих разработчиков Java. Глядя на план и планы на будущее, вы можете видеть, что после интеграции Maven 3 с выпуском 2.1.0, впереди целый ряд других интересных функций.
Дженкинс, с другой стороны, завоевал множество оригинальных пользователей Hudson и имеет большое сообщество пользователей, использующих различные технологии, а также целую кучу разработчиков, работающих над этим.
На этом этапе оба CI-сервера являются отличными инструментами для использования, и в зависимости от ваших потребностей с точки зрения технологии их интеграция может быть лучше. Оба продукта доступны с открытым исходным кодом, и вы можете получить коммерческую поддержку от различных компаний для обоих.
В любом случае... если вы еще не используете CI-сервер... начните сейчас с любого из них, и вы увидите огромные преимущества.
Обновление январь 2013: после долгого процесса очистки IP и дальнейших улучшений теперь доступен Hudson 3.0 как первый одобренный выпуск Eclipse Foundation.
Дженкинс это новый Хадсон. Это больше похоже на переименование, а не на развилку, поскольку все сообщество разработчиков перешло к Дженкинсу. (Оракул остался сидеть в углу, держа свой старый мяч "Хадсон", но сейчас это просто бездушный проект.)
Cf Ethereal -> WireShark
У меня есть два момента, чтобы добавить. Во-первых, Hudson/Jenkins - это все о плагинах. Разработчики плагинов перешли на Jenkins, и мы тоже, пользователи. Во-вторых, я лично не большой поклонник продуктов Oracle. На самом деле, я избегаю их как чумы. За деньги, потраченные на лицензирование и аппаратное обеспечение для решения Oracle, вы можете нанять в два раза больше инженерного персонала, но у вас останется немного денег, чтобы покупать пиво каждую пятницу:)
Для тех, кто упомянул примирение как потенциальное будущее для Хадсона и Дженкинса, с учетом того, что Дженкинс присоединится к SPI, маловероятно, что в этот момент они примирятся.
С веб-сайта Jenkins, http://jenkins-ci.org/, следующее подводит итог.
Короче говоря, Jenkins CI - это ведущий сервер непрерывной интеграции с открытым исходным кодом. Созданный на Java, он предоставляет более 300 плагинов для поддержки создания и тестирования практически любого проекта.
В настоящее время Oracle владеет торговой маркой Hudson, но лицензирует ее в соответствии с Eclipse EPL. Дженкинс находится на лицензии MIT. И Хадсон, и Дженкинс имеют открытый исходный код. Исходя из сочетания того, на кого вы работаете, и личных предпочтений open source, решение является простым ИМХО.
Надеюсь, это было полезно.