LINUX.ORG.RU

Выбор continious integraion системы


0

1

Хотелось бы понять стоит ли хорошо разбираться с какой-то готовой continious integraion системой вроде jenkins или уже дописывать свои скрипты на питоне до того, что нужно.

Имеется проект на C++, сборка осуществляется через CMake с оберткой в виде скрипта на питоне. В проекте есть несколько наборов тестов: от самых простых unit тестов (где тест либо пройден, либо завален), до тестов на разные функциональности (где все сложно и во время тестирования собирается множество индикаторов и по ним генерируются отчеты).

Вот минимум, который хотелось бы иметь в готовой continious integraion:

  • сборка и запуск тестов на каждой ревизии (кроме тех, комментарии к которым отмечены специальным тэгом);
  • работа с репозиторием через polling, а не hook, т.к. сервера для VCS и CI разные и под разными платформами;
  • сбор и хранение custom indicators, а не только succeed/failed для unit тестов;
  • построение custom отчетов по custom индикаторам;

Сейчас тестирование организованно на python скриптах, фактически есть один nightly запуск, когда обновляется working copy, осуществляется сборка, запуск тестов и сбор индикаторов в sqlite базу данных, по базе данных строятся отчеты (об изменениях в индикаторах) и рассылаются письма.

Для каждого теста на функциональность собирается несколько индикаторов: время работы определенных ветвей в коде и всего в целом, разные оценки качества решения (в плане лучше или хуже и на сколько). Нельзя однозначно как для unit тестов сказать что тест пройден или завален, часто нужно человеку (эксперту) оценивать это, поэтому собираются некоторые индикаторы решения в тесте, и за ними нужно постоянно следить.

Какие готовые continious integration системы позволят (возможно, через написание плагинов к ним) интегрировать в себя такие custom индикаторы и отчеты?

Имеющаяся система тестирования на python скриптах в основном устраивает, но нужно добавить в нее запуск на каждый новый коммит и почти сразу после появления этого коммита в репозитории. Стоит ли вообще рассматривать переход на готовые CI системы или проще будет добавить необходимое в имеющуюся систему?

★★★

Спасибо за варианты. Наверное, гляну BuildBot в первую очередь, может быть в него получится заинтегрировать имеющиеся скрипты.

kamre ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.