Descubre Jenkins y las ventajas que otorga esta herramienta

Este servidor entrega servicios de integración continua para el desarrollo de software y una de sus principales ventajas es que tiene más de 1000 complementos para facilitar el trabajo.

Jenkins es un servidor o herramienta de integración continua (CI) que está escrito en Java. Proporciona servicios de integración continua para el desarrollo de software, que se pueden iniciar a través de la línea de comandos o el servidor de aplicaciones web. Y un plus importante es que Jenkins es un software gratuito para descargar e instalar.

Pero antes de informar detalladamente las ventajas de esta herramienta, vamos a explicar que es la integración continua (IC).

La integración continua es una práctica de desarrollo que requiere que los desarrolladores integren el código en un repositorio compartido varias veces al día. Es un proceso donde se ejecutan pruebas en una máquina no desarrolladora (por ejemplo: probadores) automáticamente cuando alguien introduce un nuevo código en el repositorio de origen.

En los grandes equipos de trabajo, muchos desarrolladores trabajan en la misma base de código. Por lo tanto, cualquiera de las confirmaciones múltiples puede tener un error. Con la integración continua, los errores pueden identificarse temprano y repararse antes de impulsar cambios en la producción. Cualquier código nuevo se integra en un formulario ejecutable, denominado compilación. Si la compilación es verde (es decir, todo está bien), entonces el artefacto ejecutable se puede implementar. De lo contrario, el error debe repararse y la nueva compilación se prueba nuevamente.

¿Cómo nació?

Jenkins se originó principalmente como el proyecto Hudson, la creación del proyecto Hudson comenzó en el verano de 2004 en Sun Microsystems. Fue lanzado por primera vez en java.net en febrero de 2005.

Durante noviembre de 2010, surgió un problema en la comunidad de Hudson con respecto a la infraestructura utilizada, que creció para abarcar preguntas sobre la administración y el control de Oracle.

Se llevaron a cabo negociaciones entre los principales contribuyentes del proyecto y Oracle, y aunque hubo muchas áreas del acuerdo, un punto clave fue el nombre de marca registrada “Hudson” después de que Oracle reclamó el derecho al nombre y solicitó una marca registrada en diciembre de 2010. Como resultado, el 11 de enero de 2011, se hizo un llamado a votación para cambiar el proyecto de “Hudson” a “Jenkins”. La propuesta fue aprobada abrumadoramente por votación de la comunidad el 29 de enero del mismo año, creando el proyecto Jenkins.

El 1 de febrero de 2011, Oracle dijo que tenían la intención de continuar el desarrollo de Hudson, y consideró a Jenkins una bifurcación en lugar de un cambio de nombre. Jenkins y Hudson, por lo tanto, continúan como dos proyectos independientes. En diciembre de 2013, la organización Jenkins en GitHub tenía 567 miembros del proyecto y alrededor de 1.100 depósitos públicos, en comparación con los 32 miembros del proyecto y 17 depósitos públicos de Hudson.

¿Por qué utilizar la integración continua con Jenkins?

Imaginemos un escenario donde se creó el código fuente completo de la aplicación y luego se implementó en el servidor de prueba para probar.

En primer lugar, un desarrollador confirma el código en el repositorio de código fuente. Mientras tanto, el servidor Jenkins revisa el repositorio a intervalos regulares para ver los cambios. Poco después de que se produzca la confirmación, el servidor de Jenkins detecta los cambios que se han producido en el repositorio de código fuente.

Jenkins realizará estos cambios y comenzará a preparar una nueva versión, si falla la compilación, se notificará al equipo afectado. Si lo construido es correcto, entonces Jenkins implementa el built in en el servidor de prueba.

Ventajas de Jenkins

1- Jenkins es una herramienta de código abierto con mucho apoyo de su comunidad.
2- La instalación es fácil.
3- Tiene más de 1000 complementos para facilitar el trabajo.
4- Es fácil crear un nuevo complemento de Jenkins si no hay uno disponible.
5- Es una herramienta que está escrita en Java. Por lo tanto, puede ser portátil para casi todas las plataformas principales. 

La mayoría de las empresas que manejan la integración continua utilizan sus servidores de integración creados en aplicaciones como Jenkins. Con Jenkins, las organizaciones pueden avanzar en el proceso de desarrollo de software a través de la automatización. Así que, en general, Jenkins integra procesos de desarrollo del ciclo de vida de todo tipo, que incluyen construcción, documentación, pruebas, empaquetado, puesta en escena, análisis estático y mucho más. Es sin lugar a dudas, la herramienta más utilizada para gestionar construcciones de integración continua y canalizaciones de entrega. 

Fecha: 28-02-2020