Esta es una pregunta un poco ... vana, pero la salida de BuildBot no es particularmente agradable de ver ...
Por ejemplo, comparado con ..
..y otros, BuildBot parece bastante .. arcaico
Actualmente estoy jugando con Hudson, pero está muy centrado en Java (aunque con esta guía , me pareció más fácil de configurar que BuildBot y obtuve más información)
Básicamente: ¿existe algún sistema de Integración Continua dirigido a Python, que produzca muchos gráficos brillantes y similares?
Actualización: Desde entonces, el proyecto Jenkins ha reemplazado a Hudson como la versión comunitaria del paquete. Los autores originales también se han trasladado a este proyecto. Jenkins es ahora un paquete estándar en Ubuntu / Debian, RedHat / Fedora / CentOS y otros. La siguiente actualización sigue siendo esencialmente correcta. El punto de partida para hacer esto con Jenkins es diferente.
Actualización: después de probar algunas alternativas, creo que me quedaré con Hudson. La integridad era agradable y simple, pero bastante limitada. Creo que Buildbot se adapta mejor a tener numerosos esclavos de compilación, en lugar de que todo se ejecute en una sola máquina como yo lo estaba usando.
Configurar Hudson para un proyecto de Python fue bastante simple:
- Descarga Hudson desde http://hudson-ci.org/
- Ejecutarlo con
java -jar hudson.war
- Abra la interfaz web en la dirección predeterminada de
http://localhost:8080
- Vaya a Administrar Hudson, Complementos, haga clic en "Actualizar" o similar
- Instale el complemento de Git (tuve que establecer la
git
ruta en las preferencias globales de Hudson) - Cree un nuevo proyecto, ingrese al repositorio, intervalos de sondeo de SCM, etc.
- Instalar
nosetests
víaeasy_install
si aún no lo está - En el paso de compilación, agregue
nosetests --with-xunit --verbose
- Marque "Publicar informe de resultado de prueba JUnit" y configure "XML de informe de prueba" en
**/nosetests.xml
Eso es todo lo que se requiere. Puede configurar notificaciones por correo electrónico y vale la pena echar un vistazo a los complementos . Algunos que estoy usando actualmente para proyectos de Python:
- Complemento SLOCCount para contar líneas de código (¡y graficarlo!) - debe instalar sloccount por separado
- Violaciones para analizar la salida de PyLint (puede configurar umbrales de advertencia, graficar la cantidad de violaciones en cada compilación)
- Cobertura puede analizar la salida de cover.py. Nosetest puede recopilar cobertura mientras realiza sus pruebas, utilizando
nosetests --with-coverage
(esto escribe la salida en**/coverage.xml
)