Jenkins: tutorial para esta herramienta de CI

Si deseas implementar el método de integración continua (CI por sus siglas en inglés), deberías utilizar una herramienta de CI sencilla pero potente. Jenkins es buen ejemplo. Este software de código abierto ofrece, sobre todo, a través de plugins, una gran variedad de posibilidades para diseñar un proceso de integración continua más eficiente.

Jenkins está basado en Java y, por lo tanto, funciona en cualquier plataforma. Dado que el software se suministra junto con Winston —un servlet middleware— no requiere ningún servidor adicional, como por ejemplo Tomcat. Para que puedas trabajar de manera eficiente con Jenkins, este tutorial muestra en primer lugar cómo instalar y configurar el programa e incluye un ejemplo de cómo dar los primeros pasos en un proyecto.

Instalación del software

Jenkins está disponible en numerosas versiones. Puedes optar por la Weekly Version, para la que el software publica una actualización a la semana o elegir la versión Long Term Dupport (LTS), en cuyo caso se publica una versión estable cada tres meses. Estas dos opciones te permiten a su vez elegir entre diferentes lanzamientos: además de los paquetes de instalación para los sistemas operativos habituales (Windows, macOS, Ubuntu/Debian), también existe una versión para Docker así como para archivo web (.war).

Nota

En nuestro ejemplo utilizamos Windows Installer en la versión 2.121.1 (LTS) para Windows 7. Si utilizas otra versión u otro sistema operativo, el proceso de configuración puede ser diferente. Dado que Jenkins está basado en Java, deberás tener instalada su versión actual.

Windows Installer te guía sin complicaciones a través de la instalación. Solo tienes que indicar el directorio de instalación deseado y comenzar el proceso.

Configuración de Jenkins

La instalación solo debería durar unos segundos. De inmediato, el programa abre el navegador que tengas configurado como estándar y accede a localhost:8080. Aquí se encuentra la interfaz web con la que puedes manejar Jenkins. Primero, sin embargo, tienes que acceder al archivo initialAdminPassword disponible en el directorio del software, en la carpeta Secrets. Este archivo, que se puede abrir con cualquier editor de textos, contiene una contraseña generada por Jenkins. Copia la secuencia de caracteres e insértalos en el campo correspondiente de la interfaz web.

Ahora puedes comenzar con la configuración de Jenkins. El asistente de configuración te consultará si deseas elegir los plugins o si prefieres utilizar una configuración estándar que ya cuente con todas las extensiones relevantes. Si utilizas Jenkins por primera vez, es muy probable que esta última opción sea la más adecuada. Además, si así lo deseas, más tarde podrás instalar plugins sin ningún problema.

A continuación, crea un primer usuario. Si al principio vas a trabajar solo en un proyecto, puedes saltarte este paso y utilizar Jenkins simplemente como administrador (después podrás crear nuevos usuarios con diferentes derechos en los ajustes del programa). El último paso de la configuración te permite introducir una URL de Jenkins. En el campo correspondiente está indicado el localhost:8080. Si has instalado Jenkins en un servidor, lo que se recomienda especialmente en un entorno profesional, introduce en este punto la ruta correcta al directorio de Jenkins. Para terminar, almacena los datos introducidos y finaliza la configuración.

Consejo

Es posible realizar más ajustes a posteriori en el menú de configuración de Jenkins.

Jenkins: introducción a su funcionamiento

Al principio, Jenkins presenta un entorno de trabajo completamente vacío. Para iniciar un proyecto de CI debes crear una nueva tarea, bien a través de la indicación resaltada en el centro de la ventana (“create new Jobs”) , bien a través de la opción de menú “New Item”, situado en la parte izquierda.

En el siguiente paso debes dar una designación al encargo y seleccionar qué se desea conseguir:

  • Proyecto de estilo libre: Jenkins conecta un sistema de gestión de versiones con sistema de build.
  • Pipeline: aquí se crea un cauce a través de varios agentes de compilación.
  • Proyecto multiconfiguración: si tienes un proyecto que requiere diferentes posibilidades de configuración, p. ej. porque utilizas diversos entornos de prueba, elije esta opción.
  • Carpeta: una carpeta es un contenedor en el que puedes almacenar objetos anidados.
  • Organización GitHub: esta opción examina todos los repositorios de una cuenta en GitHub.
  • Multibranch Pipeline: puedes crear directamente varias canalizaciones.

Jenkins está enfocado principalmente a proyectos freestyle, por lo que en nuestro ejemplo también hemos creado uno de este tipo.

En la siguiente página se muestran numerosas posibilidades de configuración. El proyecto se configura en seis categorías. Supongamos que estás escribiendo un programa en Java y deseas utilizar integración continua. En primer lugar hay que ocuparse de la configuración del origen del código fuente. El programa de ejemplo se encuentra en un repositorio Git de tu terminal (si bien es posible conectar Jenkins, por ejemplo, con GitHub). Introduce, por tanto, el nombre de dicho directorio en la opción “Git”. También puedes trabajar con una subversión.

En el siguiente paso, elige el disparador de ejecución o build trigger, con el que se determina las situaciones en las que Jenkins debe iniciar un build. Esto es posible, p. ej., a través de un script especial de otro programa, una vez se haya ejecutado otro build o de manera regular en determinados intervalos de tiempo. También puedes desencadenar un build manualmente, como también haremos en el ejemplo.

El entorno de ejecución, que Jenkins te permite configurar, incluye varias opciones en lo que a los builds respecta, por ejemplo, ¿debe interrumpirse el proceso cuando este se bloquea? o ¿se desea imprimir una marca de tiempo en la consola? Ninguna de las opciones es obligatoria.

Finalmente se llega a la opción de ejecutar o build: aquí puedes determinar con qué se va a construir tu programa. Dado que en la selección estándar de plugins ya se han integrado conexiones a Ant y Gradle, puedes elegir uno de estos programas. Sin embargo, también es posible recurrir a líneas de comandos sencillas. Elige la opción para comandos en lote y deja que el programa compile:

javac MyProgram.java
java MyProgram

A continuación, Jenkins te da la posibilidad de llevar a cabo acciones después del build. La realización de pruebas es un aspecto muy importante: utiliza la opción “Publish JUnit test result report” para conectar Jenkins con JUnit e integrar resultados del marco de pruebas para Java. Además, con los plugins adicionales puedes conectar Jenkins con otros entornos de prueba, pudiendo incluso realizar pruebas automáticas. Asimismo, puedes recibir información por email acerca del estado de un build o hacer que otros la reciban. Finalmente solo tienes que guardar la información: ya habrás creado tu primera tarea.

Consejo

Si deseas instalar plugins, es necesario reiniciar el servidor Jenkins. Para esto tienes que cerrar sesión y a continuación introducir la URL en la barra de direcciones del navegador safeRestart (p. ej. localhost:8080/safeRestart). Cuando vuelvas a iniciar sesión podrás confirmar que deseas reiniciar.

Cada uno de los proyectos tiene una subpágina en Jenkins. Aquí puedes iniciar un build, volver a modificar los ajustes y comprobar el estado. En la página Status, Jenkins te muestra el historial de build. ¿Finalizó el último con éxito? El programa marca los éxitos con puntos azules y señala en rojo los errores que, según la integración continua, hay que subsanar de inmediato. Aquí también puedes ver si hay un build en proceso. Haciendo clic en el número de build se accede a una página detallada en la que se puede visualizar la salida de la consola.

En el panel de control de Jenkins puedes ver todos los proyectos en los que estás trabajando. Aquí, el programa también marca con colores el estado del proyecto. Además, se ofrece información sobre la estabilidad del build utilizando la simbología de los informes meteorológicos: gracias a la información estadística se puede ver la estabilidad media de las ejecuciones del proyecto. Si más del 80 % se han llevado a cabo correctamente, aparece un sol. Por debajo de este valor la indicación meteorológica será cada vez peor.

Para mostrar este video, se requieren cookies de terceros. Puede acceder y cambiar sus ajustes de cookies aquí.
Nota

Jenkins te da muchas más posibilidades de adaptar el programa a tus condiciones de trabajo y, de esta forma, simplificar el proceso de integración continua. Encontrarás una solución adecuada para la mayoría de situaciones, especialmente gracias a los numerosos plugins.

Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede obtener más información, o bien conocer cómo cambiar la configuración de su navegador en nuestra. Política de Cookies.