Использование bitten для continuous integration 1

Posted by Андрей on Февраль 03, 2008

В связи с нашими разработками, в том числе кроссплатформенных приложений, я озаботился возможностью как-то организовать процесс компиляции, прохождения unit-тестов, различных артефактов разработки, например, документации по коду. Полезно иметь такую вещь: часть программистов использует Windows, там не все утилиты работают нормально или их настроить бывает непросто. Ну и оттестировать своё приложение нескольких архитектурах после каждого комита бывает непросто.

После небольшого осмотра того, что нам может предложить Internet из open-source проектов были отобраны кандидаты на роль continuous integration-средства:

Cruise Control самый сложный, вроде бы самый первый проект в этой области, с различными возможностями, настройками, плагинами и т.п. Но меня оттолкнула необходимость ставить Java, настраивать её, еще какой-нибудь Servlet-контейнер. BuildBot вроде бы работоспобен, но некрасивый (а это, по-моему, очень важно, средство должно быть не только удобным, но и красивым, это очень мотивирует на использование).

Мы очень активно в своих проектах используем Trac, а Bitten как раз с ним интегрирован, это подкупает. Он красивый, расширяемый, написан на питоне, а этот язык является одним из основных в нашей работе. Единственный минус – проект полузаброшенный, работающая версия – это trunk в репозитории, однако есть некоторый community, который достаточно активно пытается поддерживать проект. Всё это в сумме несмотря на указанный недостаток склонило чашу весов с сторону Bitten.

У нас Trac 0.10.x, Bitten установился без проблем, нужно было только заметить, что URL страницы с информацией выглядит как /build/, а вот клиент билда (buildslave) должен обращаться на /builds/ (легко промахнуться). У нас на траке была HTTP-авторизация, и пришлось для успешного коннекта buildslave поставить в апаче HTTP-авторизацию не только на URL /login/, но и на /builds/. После этого всё заработало без проблем, оставалось только настраивать последовательность команд для buildа проекта, архитектуры, запускать побольше buildslave на машинах с разной архитектурой.

В планах добавить побольше команд для рализличных вариантах buildа, парсинге результатов юнит-тестирования, code-coverage, архивирования артефактов (например, скомпилированных приложений, документации по коду).

Скриншоты

Страница со статусом билда

Настройка билда

Trackbacks

Use this link to trackback from your own site.

Comments

Leave a response

  1. DenisKMS Пн, 23 Июн 2008 13:14:56 UTC

    interesnaya statia..Avtor molodec ;-)

Comments