Utilizar JENKINS facilitará los procesos de compilación y pruebas para los desarrolladores, mediante la integración continua.
Jenkins es un servidor que se utiliza para la integración continua, de carácter gratuito y open source. Es una herramienta que se emplea para compilar y probar proyectos de software de forma continua, lo que facilita a integrar cambios en un proyecto y entregar nuevas versiones a los usuarios. Está desarrollado en Java, y es multiplataforma y accesible mediante una interfaz web. Actualmente es el software más utilizado de estas características.
Los orígenes de Jenkins en su primera versión remontan al año 2011, como parte del anterior proyecto llamado “Hudson”, este mismo creo dicho servidor de automatización para facilitar las tareas de complicación y prueba.
Jenkins con Integración Continua
Antes de la llegada de Jenkins el trabajo era tedioso y más extenso por lo que no se podían localizar errores fácilmente y al trabajar de forma manual era más factible que haya fallas, en cambio, con Jenkins y los beneficios que ofrece la Integración Continua cada desarrollo es verificado y controlado mediante la aplicación. Con lo que en lugar de comprobar todo el código, los desarrolladores sólo necesitan centrarse en un commit (Esto es una confirmación a un cambio individual en un archivo o en un conjunto de archivos, suele tener una descripción de los cambios realizados) concreto para corregir bugs.
Los desarrolladores conocen los resultados de las pruebas de sus cambios durante la ejecución.
Jenkins automatiza el despliegue y las pruebas, lo que ahorra mucho tiempo y evita errores.
El ciclo de desarrollo es más rápido y analiza varias etapas en el proceso, lo que lo hace más sencillo. Por esto se logra que se entreguen más funcionalidades y se pueda hacer más frecuentemente, por esto mismo los beneficios son mayores.
Características principales de Jenkins
- Automatizar la compilación y testeo de software.
- Notificar a los equipos correspondientes la detección de errores durante el proceso.
- Desplegar los cambios en el código que hayan sido validados mediante las diferentes etapas de jenkins.
- Hacer un seguimiento de la calidad del código y de la cobertura de las pruebas.
- Generar la documentación de un proyecto.
- Muestra los cambios que hiciste en tus archivos.
- Ayuda a resolver conflictos entre los componentes modificados.
- Unir distintas etapas del proceso desde el desarrollo hasta el despliegue, en donde el mismo sufra ciertos controles de calidad.
Funcionamiento de Jenkins
- Un desarrollador hace un commit sobre sus modificaciones de código en el repositorio del código fuente correspondiente.
- El servidor de Jenkins hace comprobaciones periódicas para detectar cambios en el repositorio.
- Poco después del commit, Jenkins detecta los cambios que se han producido en el código fuente. Compila/ejecuta el código y prepara un build. Si la ejecución falla, envía una notificación al equipo en cuestión que desarrollo el mismo. En caso de que resulte exitoso, lo despliega en el servidor de testeo donde se van a realizar las pruebas correspondientes.
- Después de la prueba, Jenkins genera un feedback y notifica al equipo el build y los resultados del testeo.
- Jenkins continúa revisando el repositorio frecuentemente y todo el proceso se repite.