Это немного ... напрасный вопрос, но результаты работы BuildBot не особенно хороши для просмотра ..
Например, по сравнению с ..
..и другие, BuildBot выглядит .. архаично
В настоящее время я играю с Hudson, но он очень ориентирован на Java (хотя с этим руководством я обнаружил, что его проще настроить, чем BuildBot, и получил больше информации)
В основном: есть ли какие-либо системы непрерывной интеграции, нацеленные на python, которые создают множество блестящих графиков и тому подобное?
Обновление: с этого времени проект Jenkins заменил Hudson в качестве версии пакета для сообщества. Первоначальные авторы тоже перешли в этот проект. Jenkins теперь является стандартным пакетом для Ubuntu / Debian, RedHat / Fedora / CentOS и других. Следующее обновление по-прежнему верно. Отправная точка для этого с Дженкинсом другая.
Обновление: попробовав несколько альтернатив, я думаю, что буду придерживаться Хадсона. Честность была простой и приятной, но весьма ограниченной. Я думаю, что Buildbot лучше подходит для наличия множества ведомых сборок , чем для всего, что работает на одной машине, как я его использовал.
Настроить Хадсона для проекта Python было довольно просто:
- Загрузите Hudson с http://hudson-ci.org/
- Запустите это с
java -jar hudson.war
- Откройте веб-интерфейс на адресе по умолчанию
http://localhost:8080
- Зайдите в Manage Hudson, Plugins, нажмите «Обновить» или аналогичный
- Установите плагин Git (мне пришлось указать
git
путь в глобальных настройках Hudson) - Создайте новый проект, введите репозиторий, интервалы опроса SCM и т. Д.
- Установить
nosetests
через,easy_install
если это еще не сделано - На этапе сборки добавьте
nosetests --with-xunit --verbose
- Установите флажок «Опубликовать отчет о результатах тестирования JUnit» и установите для параметра «XML отчета о тестировании» значение
**/nosetests.xml
Это все, что требуется. Вы можете настроить уведомления по электронной почте, и плагины заслуживают внимания. Некоторые из них я сейчас использую для проектов Python:
- Плагин SLOCCount для подсчета строк кода (и построения графика!) - вам необходимо установить sloccount отдельно
- Нарушения для анализа вывода PyLint (вы можете установить пороги предупреждений, графически отображать количество нарушений для каждой сборки)
- Cobertura может анализировать вывод extension.py . Nosetest может собирать покрытие во время выполнения ваших тестов, используя
nosetests --with-coverage
(это записывает вывод в**/coverage.xml
)