Бамбук против. Хадсон (он же Дженкинс) против любых других систем CI [закрыто]


119

У кого-нибудь есть опыт работы с Hudson и Bamboo? Есть какие-нибудь мысли об относительных сильных и слабых сторонах этих продуктов?

Хорошо, поскольку люди продолжают упоминать другие продукты CI, я открою это позже. Вот моя общая проблема. Я хочу настроить систему CI для нового проекта. В этом проекте, скорее всего, будут компоненты Java (WAR и JAR), некоторые модули Python и, возможно, даже компонент .NET. Поэтому мне нужен CI-сервер, который может:

  1. Работа с несколькими языками,
  2. Разверните артефакты на серверах (т.е. разверните войну, если все модульные тесты пройдут успешно).
  3. Я также хотел бы что-то, что интегрировано с достойным инструментом покрытия кода.
  4. Красивые отчеты - это хорошо, но не обязательно.
  5. Множественные механизмы уведомления, когда что-то идет не так.
  6. Я не беспокоюсь о хостинге. Я либо запустил его на локальном сервере, либо на инстансе Amazon.
  7. Кроме того, это может быть пирог в небе, но есть ли что-то, что также может создавать приложения для iPhone?

2
Чтобы еще больше запутать обстановку, думали ли вы о Team City? У них есть бесплатная версия (ограниченная количеством пользователей). Я использовал его в прошлом, и мне очень нравится информация, которую он предоставляет.
Шейн Кортрилл

Хадсон или Дженкинс? ( kohsuke.org/2011/01/11/bye-bye-hudson-hello-jenkins )
Romain Linsolas

2
Пусть продолжают путать воду :) Integrityapp.com Его можно развернуть на Heroku, так что вы можете получить CI-сервер бесплатно.
Nerian

Я не видел TeamCity. И я не понимал, что Oracle вынудила Хадсона стать Дженкинсом. Я отредактирую вопрос, чтобы отразить это.
Картик Рамачандран

2
Об этом есть ветка: forum.atlassian.com/message.jspa?messageID=257292121
sal

Ответы:


50

Заявление об ограничении ответственности: я работаю над Bamboo и поэтому не собираюсь комментировать функции других продуктов CI, поскольку мой опыт работы с ними ограничен.

Чтобы ответить на ваши конкретные требования:

Работа с несколькими языками

Bamboo имеет встроенную поддержку нескольких языков. Клиенты используют его с Java, .Net, PHP, JavaScript и т. Д. При этом большинство серверов сборки достаточно универсальны, чтобы по крайней мере выполнить сценарий, который может запустить процесс сборки.

Разверните артефакты на серверах (т.е. разверните войну, если все модульные тесты пройдут успешно).

Bamboo 2.7 поддерживает этапы сборки, которые позволяют разделить сборку на этап модульного тестирования и этап развертывания. Только если этап модульного тестирования завершится успешно, сборка перейдет к этапу развертывания. В Bamboo 3.0 мы будем поддерживать совместное использование артефактов между этапами, что позволит вам создать артефакт (например, вашу войну) на первом этапе и использовать этот артефакт на следующих этапах для тестирования и развертывания.

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

Bamboo поставляется с поддержкой Clover, а также имеет плагин для Cobertura .

Красивые отчеты - это хорошо, но не обязательно.

У Bamboo есть куча хороших, но не важных отчетов :)

Множественные механизмы уведомления, когда что-то идет не так.

Bamboo может уведомить вас по электронной почте, через RSS, IM, через плагин IDE или через красивую настенную доску, которая видна всей команде.

Я не беспокоюсь о хостинге. Я либо запустил его на локальном сервере, либо на инстансе Amazon.

По опыту, как правило, дешевле разместить собственный сервер CI. Но если вам нужно масштабировать, Bamboo упрощает распространение ваших сборок среди дополнительных локальных агентов или масштабирование до Amazon с помощью эластичных агентов.

Кроме того, это может быть пирог в небе, но есть ли что-то, что также может создавать приложения для iPhone?

Как и в ответе на ваш первый вопрос, большинство серверов CI смогут создавать приложения для iPhone некоторыми способами. Вполне возможно, что потребуется немного больше скриптов.

Цена: Bamboo не является бесплатным (кроме нашей бесплатной начальной лицензии ) / libre / open-source, но вы получите исходный код Bamboo, если приобретете коммерческую лицензию и полную поддержку. По сравнению со стоимостью вычислительной мощности и потенциального обслуживания, необходимого для CI-сервера, стоимость лицензии Bamboo довольно мала.

Надеюсь это поможет.


15
Ценовая структура Bamboo ошибочна. Он не делает различий между пользователями с параллельными сборками и пользователями, которым просто нужны удаленные агенты для кросс-платформенного тестирования. Если вы попробуете запустить крошечный сервер сборки для Windows, Linux и Mac (возможно, даже для разных версий каждого из них), цена быстро вырастет до тысяч долларов в год. Лучшим подходом было бы взимать плату за одновременные сборки.
Gili

Важная особенность Bamboo по сравнению с jenkins - автоматическое слияние ветвей, чтобы предотвратить дрейф между разработчиками в командах. Но, к сожалению, они поддерживают это только для GIT и Mercurial, поэтому любой, кто использует SVN или что-то еще, не будет работать. Но у Jenkins есть плагин SVN Merge, который позволяет нам это делать.
george_h

1
@george_h Плагин GIT для Jenkins теперь поддерживает автоматическое объединение веток. Я не уверен, когда это было реализовано.
slu

1
Замечательно. На самом деле я использовал и бамбук, и дженкинс, и дженкинс был намного лучше. В конце концов, это всего лишь сервер, на котором работает Ant + Maven.
george_h

40

Я не использовал Bamboo, но я использовал Hudson, Cruise и TFS, и из всех них Hudson был, несомненно, лучшим. Его до смешного легко настроить, и он имеет действительно хороший веб-интерфейс для настройки проекта. Что хорошо в Hudson, так это то, что он поддерживает практически любой язык и любую функцию, которую вы могли бы пожелать, если предположить, что кто-то написал для него плагин, который, вероятно, у них есть.

http://wiki.hudson-ci.org/display/HUDSON/Plugins

Мы использовали его для запуска сборок .NET, Java и C ++ с заданными интервалами времени, а также для проверки SVN с помощью автоматизированных средств тестирования, и это было здорово. В позапрошлом месте, где я работал, незадолго до того, как я уехал, началась разработка iPhone, и я считаю, что для этого тоже использовали Hudson.

Плюс это бесплатно!


35

Бамбук против Хадсона, на очень поверхностном уровне, кажется, сводится к:

  • Бамбук: простой в использовании и красивый
  • Дженкинс: шероховатый по краям, но гораздо более гибкий, чем Bamboo.

И у Bamboo, и у Jenkins есть множество ошибок (вы столкнетесь с проблемами), но, по крайней мере, с Jenkins у вас гораздо больше шансов найти обходной путь, пока он не будет исправлен. С Bamboo вы застряли в ожидании обновления.


Я бы предположил, что с Bamboo у вас есть хотя бы коммерческая поддержка для этого.
keiki

3
@keiki, да и нет. Да, вы получаете коммерческую поддержку, но она стоит больших денег (вам нужно спросить себя, имеет ли смысл соотношение затрат и выгод). Стоит отметить, что многие проблемы, с которыми вы столкнетесь, вызваны отсутствием функций. Atlassian сделает все возможное, чтобы помочь вам, но, в конце концов, у них ограниченные ресурсы, и им могут потребоваться годы, чтобы добавить запрашиваемые вами функции (в зависимости от их популярности).
Гили,

1
+1 за гибкость. Bamboo действительно ограничен для современного инструмента, как и для инструмента CI, где все не делается с нуля. Вдобавок к этому Atlassian не может определять приоритеты / обрабатывать ошибки Bamboo так, как мы привыкли работать с OSS.
Пэдди

16

Отказ от ответственности: я работаю с Дженкинсом.

В нашей организации (довольно большой, более 100 разработчиков) мы нашли очень полезными эти две функции:

  1. Плагин CAS с матричной стратегией безопасности проекта
  2. Плагин сборки конвейера
  3. График выпуска LTS.

По поводу ваших вопросов:

  1. хорошо
  2. ПЛАГИН SCP или ПЛАГИН SSH
  3. Мы используем FINDBUGS, плагин сборщика статического анализа, плагины статического анализа кода, плагин сканера задач.
  4. Предыдущая в пункте 3 + плагин Jenkins DocLinks
  5. Мы используем плагин email Jenkins Email Extension Plugin, но он поддерживает и другие системы, такие как rss, twitter publish, sms ...
  6. Мы работаем на локальном хостинге Tomcat.
  7. Да.

5

Что ж, я до сих пор не использовал Bamboo, но одно отличие состоит в том, что Hudson - это бесплатное / бесплатное программное обеспечение с открытым исходным кодом.


10
проголосовали против - это верный, но тривиальный ответ (предположительно, кто-то, знакомый с обоими продуктами, знает это); OP ищет возможности для сравнения.
Jason S

1

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

Работа с несколькими языками

Он автоматически автоматизирует ваши существующие сценарии и управляет создаваемыми ими артефактами, независимо от языка.

Разверните артефакты на серверах (т.е. разверните войну, если все модульные тесты пройдут успешно).

Развертывание может быть добавлено как шаг в процессе сборки. Я не уверен, что вы захотите выполнить развертывание непосредственно в производственной среде, но вы, безусловно, могли бы, если бы руководство потребовало этого.

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

Они интегрируются из коробки с Clover, Cobertura, Emma, ​​Checkstyle, CodeSonar, Coverity, FindBugs, Fortify, Klocwork, PMD и Sonar.

Красивые отчеты - это хорошо, но не обязательно.

Я не уверен, какие отчеты доступны, но есть вкладка отчетов (я туда не захожу :-))

Множественные механизмы уведомления, когда что-то идет не так.

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

Я не беспокоюсь о хостинге. Я либо запустил его на локальном сервере, либо на инстансе Amazon.

Я видел демонстрацию того, как они запускают облачный сеанс из образа, в комплекте с агентом для развертывания. Мы запускаем его на типичном Linux-сервере, но я знаю, что некоторые люди запускают его на сервере VMWare.

Кроме того, это может быть пирог в небе, но есть ли что-то, что также может создавать приложения для iPhone?

Это, наверное, подпадает под первую.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.