2012-06-20 33 views
13

Mi pregunta es bastante subjetiva, los moderadores no la cierren, porque quiero conocer las opiniones de los nerds con experiencia.Entender lo que diferencia a jenkins y django-jenkins

Soy nuevo en el despliegue de arena, y estaba haciendo algo de RTFM en jenkins, viniendo del fondo python/django busqué en github para encontrar django-jenkins.

Toda la idea de CI es tener un proceso de compilación continuo, para que pueda volver a su última etapa si falla la compilación.

Por lo que pude ver, jenkins se ejecuta en un servidor, que ejecuta la prueba y se implementa si todas las pruebas pasan, cuando el código se envía a github u otro repositorio. Podría hablar con el repositorio mediante encuestas o trabajos cron.

Mientras que cuando miraba a django-Jenkins en la documentación que se menciona

./manage.py jenkins 

Esto quiere decir, que podemos añadir comandos al archivo de configuración, cosas de prueba a nivel local y luego desplegar. (corríjanme si estoy equivocado)

Entonces, ¿qué lo diferencia? ¿Elimina django-jenkins la necesidad de un servidor adicional que use jenkins para CI?

Háganme saber y acláreme en qué me equivoco.

Respuesta

20

Jenkins es la herramienta de integración continua propiamente dicha: maneja compilaciones manuales y automáticas, despliegues y puede ejecutar scripts de prueba y mostrar informes. Esto es útil para ver si sus pruebas todavía están pasando y si las compilaciones son exitosas.

django-Jenkins es un paquete de Python para el marco de Django Web que proporciona herramientas adicionales que se pueden utilizar en Jenkins. Por ejemplo, genera informes que Jenkins puede leer. Puede agregar estos comandos en su script de compilación para generar los informes.

En otras palabras, Jenkins se puede utilizar para muchos propósitos diferentes de integración continua, pero si usted está construyendo un sitio web en Python/Django entonces django-jenkins proporciona una funcionalidad adicional para facilitar la vida.

+1

gracias por su respuesta, tiene sentido para mí. ¿Podría profundizar más en él, desde el POV de uso? Digamos que tengo una aplicación web muy compleja, digamos un CRM, en ese caso, ¿cómo pongo en uso a jenkins y django-jenkins? ¿Necesitaré la bondad de ambos? ¿Qué papel le servirá a cada uno? Puede editar su respuesta para incluir lo anterior. – user993563

+0

Como ya he dicho, Jenkins proporciona la funcionalidad de creación y prueba automática y django-jenkins contiene funcionalidad adicional para los proyectos de Django. No tiene que usar django-jenkins si elige usar Jenkins, es opcional. Depende de usted evaluar su situación y decidir si le resulta útil o no a django-jenkins. –