<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Andrey Smirnov's Blog (integration)</title><link>http://www.smira.ru/</link><description></description><language>en</language><lastBuildDate>Sun, 11 Jan 2015 19:24:23 GMT</lastBuildDate><generator>http://getnikola.com/</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Использование bitten для continuous integration</title><link>http://www.smira.ru/en/posts/20080203bitten-trac-integration.html</link><dc:creator>Andrey</dc:creator><description>&lt;p&gt;&lt;/p&gt;&lt;p&gt;В связи с нашими разработками, в том числе кроссплатформенных приложений, я озаботился возможностью как-то организовать процесс компиляции, прохождения unit-тестов, различных артефактов разработки, например, документации по коду. Полезно иметь такую вещь: часть программистов использует Windows, там не все утилиты работают нормально или их настроить бывает непросто. Ну и оттестировать своё приложение нескольких архитектурах после каждого комита бывает непросто.&lt;/p&gt;
&lt;p&gt;После небольшого осмотра того, что нам может предложить Internet из open-source проектов были отобраны кандидаты на роль &lt;a href="http://en.wikipedia.org/wiki/Continuous_Integration"&gt;continuous integration&lt;/a&gt;-средства:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://cruisecontrol.sourceforge.net/"&gt;Cruise Control&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://buildbot.net/trac"&gt;BuildBot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://bitten.edgewall.org/"&gt;Bitten&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--more--&gt;

&lt;p&gt;Cruise Control самый сложный, вроде бы самый первый проект в этой области, с различными возможностями, настройками, плагинами и т.п. Но меня оттолкнула необходимость ставить Java, настраивать её, еще какой-нибудь Servlet-контейнер. BuildBot вроде бы работоспобен, но некрасивый (а это, по-моему, очень важно, средство должно быть не только удобным, но и красивым, это очень мотивирует на использование). &lt;/p&gt;
&lt;p&gt;Мы очень активно в своих проектах используем &lt;a href="http://trac.edgewall.org"&gt;Trac&lt;/a&gt;, а Bitten как раз с ним интегрирован, это подкупает. Он красивый, расширяемый, написан на питоне, а этот язык является одним из основных в нашей работе. Единственный минус - проект полузаброшенный, работающая версия - это trunk в репозитории, однако есть некоторый community, который достаточно активно пытается поддерживать проект. Всё это в сумме несмотря на указанный недостаток склонило чашу весов с сторону Bitten. &lt;/p&gt;
&lt;p&gt;У нас Trac 0.10.x, Bitten установился без проблем, нужно было только заметить, что URL страницы с информацией выглядит как /build/, а вот клиент билда (buildslave) должен обращаться на /builds/ (легко промахнуться). У нас на траке была HTTP-авторизация, и пришлось для успешного коннекта buildslave поставить в апаче HTTP-авторизацию не только на URL /login/, но и на /builds/. После этого всё заработало без проблем, оставалось только настраивать последовательность команд для buildа проекта, архитектуры, запускать побольше buildslave на машинах с разной архитектурой.&lt;/p&gt;
&lt;p&gt;В планах добавить побольше команд для рализличных вариантах buildа, парсинге результатов юнит-тестирования, code-coverage, архивирования артефактов (например, скомпилированных приложений, документации по коду). &lt;/p&gt;
&lt;h4&gt;Скриншоты&lt;/h4&gt;
&lt;h5&gt;Страница со статусом билда&lt;/h5&gt;
&lt;p&gt;&lt;a href="http://picasaweb.google.com/Smirnov.Andrey/ZuPVRG/photo#5162842654602059010"&gt;&lt;img src="http://lh3.google.com/Smirnov.Andrey/R6YaClrKXQI/AAAAAAAAAiE/Uuf6QqaGkwk/s400/bitten1.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;Настройка билда&lt;/h5&gt;
&lt;p&gt;&lt;a href="http://picasaweb.google.com/Smirnov.Andrey/ZuPVRG/photo#5162842654602059026"&gt;&lt;img src="http://lh3.google.com/Smirnov.Andrey/R6YaClrKXRI/AAAAAAAAAiM/zCuooMF3bgM/s400/bitten2.png"&gt;&lt;/a&gt;&lt;/p&gt;</description><guid>http://www.smira.ru/en/posts/20080203bitten-trac-integration.html</guid><pubDate>Sun, 03 Feb 2008 20:16:14 GMT</pubDate></item></channel></rss>