Bamboo Vs. Хадсон (a.k.a. Jenkins) против любых других систем CI

У кого-нибудь есть опыт работы с Хадсоном и Бамбуком? Любые мысли об относительных сильных и слабых сторонах этих продуктов?

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

  • Управление несколькими языками,
  • Разверните артефакты на серверах (например, разверните войну, если все тесты модуля пройдут.)
  • Мне также хотелось бы что-то, что интегрировано с приличным инструментом покрытия кода.
  • Хорошие отчеты хороши, но не важны.
  • Несколько механизмов уведомления, когда все идет не так.
  • Я не беспокоюсь о хостинге. Я либо запустил его на локальном сервере, либо на экземпляре Amazon.
  • Кроме того, это может быть пирог в небе, но есть ли что-то, что может также создавать приложения для iPhone?

Ответ 1

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

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

Обработка нескольких языков

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

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

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

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

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

Хорошие отчеты хороши, но не важны.

Bamboo имеет целую кучу отчетов, которые хороши, но не существенны:)

Несколько механизмов уведомления, когда все идет не так.

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

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

Из опыта, как правило, дешевле разместить собственный сервер CI. Но если вам нужно масштабировать, Bamboo упрощает распространять ваши сборки дополнительным локальным агентам или масштабировать до Amazon через Elastic agents.

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

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

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

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

Ответ 2

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

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

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

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

Ответ 3

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

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

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

Ответ 4

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

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

  • Плагин CAS с матричной стратегией безопасности проекта
  • Плагин сборки трубопроводов
  • Расписание выпуска LTS.

О ваших вопросах:

  • OK
  • SCP PLUGIN или SSH PLUGIN
  • Мы используем FINDBUGS, подключаемый модуль коллектора статического анализа, плагины для анализа статического кода, плагин сканера задач.
  • Предыдущая в точке 3 + плагин Jenkins DocLinks
  • Мы используем электронную почту Jenkins Email Extension Plugin, но она поддерживает и другие системы, такие как rss, twitter publish, sms...
  • Мы работаем в Tomcat Hosting, Locally.
  • Да.

Ответ 5

Ну, я пока не использовал Bamboo, но одно отличие заключается в том, что Hudson является бесплатным /libre/open -source программным обеспечением.

Ответ 6

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

Обработка нескольких языков

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

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

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

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

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

Хорошие отчеты хороши, но не важны.

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

Несколько механизмов уведомления, когда все идет не так.

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

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

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

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

Вероятно, это подпадает под первую.