Технические заметки одного Евтуховича

Рассказ о серых трудовых буднях инженера программных систем

Непрерывная интеграция

| Комментарии

О непрерывной интеграции (Continuous Integration) можно почитать у Мартина Фаулера (Martin Fowler) здесь. В друх словах, это практика постоянной интеграции наработок каждого программиста. Обычно это заключается в том, что на какой-нибудь машине постоянно (после каждого изменения в исходных кодах) собирается проект и прогоняются все тесты. Результаты этих действий высылаются разработчикам по почте. Это позволяет постоянно сохранять проект в относительно рабочем состоянии.

Удобным инструментом непрерывной интеграции является CruiseControl. К сожалению в своей оригинальной версии он поддерживает только систему контроля версий svn. Поддержку git дописали народные умельцы. Я воспользовался вот этой веткой.

Теперь каждый день по несколько раз мы получаем такие письма:

    The build failed.

    CHANGES
    -------
    Build was manually requested


    See http://cruise.ourdomain.com/builds/linkfeed/98bb78b.1 for details.

Все тесты выполняются у нас 5-6 минут, поэтому каждый раз прогонять все на своей машине достаточно утомительно. CruiseControl позволяет сохранять проект в более “целостном” состоянии.

В дальнейшем я планирую прикрутить к нему проверку покрытия тестами (Test Coverage) с помощью rcov.

Комментарии