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