buildbot vs hudson / jenkins для непрерывной интеграции C ++

В настоящее время я использую jenkins / hudson для непрерывной интеграции большого проекта, в основном C ++. У нас есть отдельные проекты для магистрали и каждого филиала. Кроме того, есть несколько связанных проектов для кода Java, но их настройка сейчас довольно проста (хотя мы можем сделать больше позже). Проекты C ++ делают следующее:

  • Создает все с параметрами для перенастройки, выполнения чистой сборки или использования новой проверки.
  • Необязательно собирает и запускает все тесты
  • Необязательно запускает все тесты с помощью Valgrind ' s memcheck
  • Запускает cppcheck
  • Создает документацию doxygen
  • Публикует отчеты: модульные тесты, valgrind, cppcheck, предупреждения компилятора, SLOC, открытые задачи и покрытие кода (с использованием gcov, gcovr и плагина cobertura)
  • Развертывает код каждую ночь или по запросу в тестовой среде и в репозитории пакетов

Все настраивается для автоматической сборки и необязательно для сборки по запросу. Внизу есть сценарий bash, который контролирует большую часть этого, что в дальнейшем зависит от нашей системы сборки, которая использует automake и autoconf вместе с пользовательскими сценариями bash.

Мы начали использовать Hudson (в то время), потому что это были парни из Java using, а нам просто нужны ночные сборки. С тех пор мы добавили намного больше и продолжаем добавлять. В некотором смысле Хадсон великолепен, но определенно не идеален.

I ' Мы рассмотрели другие решения, и единственное, что похоже на замену, - это buildbot. Будет ли buildbot лучше в этой ситуации? Стоит ли вложения, поскольку мы уже используем Hudson? Почему?

РЕДАКТИРОВАТЬ : Кто-то спросил, почему я не считаю, что Хадсон / Дженкинс идеален. Короткий ответ: все можно улучшить. Мне просто интересно, является ли Jenkins лучшим текущим решением для моего варианта использования или есть что-то получше (buildbot?), Которое было бы легче поддерживать в долгосрочной перспективе, даже если возникнут новые требования.

75
задан deuberger 13 April 2011 в 19:14
поделиться