Las organizaciones están adoptando cada vez más Jenkins para automatizar sus procesos de construcción y prueba, lo que dificulta la gestión manual de los trabajos en Jenkins. La buena noticia es que el complemento Jenkins DSL te permite definir trabajos en Jenkins utilizando una sintaxis de Lenguaje Específico del Dominio (DSL).
Jenkins DSL facilita el almacenamiento de trabajos en sistemas de control de versiones, compartirlos con otros usuarios y generar nuevos trabajos a partir de plantillas. En este tutorial, aprenderás cómo aprovechar el complemento Jenkins DSL para automatizar el desarrollo de aplicaciones.
Sigue leyendo para que nunca más tengas que hacer clic a través de la interfaz de Jenkins para crear un trabajo tediosamente.
**Requisitos previos**
Este tutorial será una demostración práctica. Si deseas seguirlo, asegúrate de tener lo siguiente.
- A Linux machine – This guide uses Ubuntu 20.04.
- Pipeline: Job para agregar el conjunto de complementos de Pipeline utilizado para implementar e integrar canalizaciones de entrega continua en Jenkins.
- Pipeline: Groovy para la capacidad de ejecutar código Groovy directamente.
Instalando el complemento Jenkins DSL
Mantener la coherencia entre trabajos puede ser difícil, pero el complemento Jenkins DSL resuelve este problema. ¿Cómo? Permitiéndote definir trabajos en una forma programática, en un archivo legible por humanos.
Pero antes de crear trabajos, primero debes instalar el complemento Jenkins DLS:
1. Conéctate por SSH a tu servidor Jenkins y ejecuta el siguiente comando para verificar que tienes la versión necesaria de Java instalada y que el servicio de Jenkins está en ejecución.
Ya estás listo para instalar el complemento Jenkins DSL si ves una salida similar a la siguiente.

2. A continuación, abre tu navegador web favorito y navega hasta http://your_server_ip:8080/pluginManager/available. Reemplaza tu_dirección_ip_del_servidor:8080 con la dirección IP real y el número de puerto de tu servidor Jenkins.
3. Por último, instala el complemento Jenkins DSL con lo siguiente:
- Como se muestra a continuación, escribe Job DSL en el cuadro de búsqueda en la esquina superior derecha.
Si ya tienes instalado el complemento Job DSL y lo has actualizado desde una versión anterior, los scripts Job DSL no aparecerán en la lista al buscar Job DSL. Puedes navegar hasta http://your_server_ip:8080/pluginManager/installed para comprobar si el complemento Job DSL está allí.
- Marca la casilla junto a la opción Job DSL.
- Haz clic en Instalar sin reiniciar en la parte inferior para instalar el complemento Jenkins Job DSL.

La interfaz de usuario de Jenkins te mostrará una barra de progreso mientras se instala el complemento. Una vez completada la instalación, verás los mensajes de éxito similares a continuación.

Creando un Trabajo Semilla de Jenkins Usando el Complemento Jenkins DSL
Ahora que tienes instalado el complemento Jenkins DSL, siéntete libre de crear un trabajo semilla de Jenkins. Escribe un script básico de Job DSL e incorpóralo en un trabajo semilla de Jenkins. Crearás un trabajo de estilo libre que imprime un mensaje de ‘¡Hola Mundo!’ en la consola de Jenkins.
Para incorporar un script de Job DSL en un trabajo inicial de Jenkins:
1. Navega hasta tu panel de Jenkins y haz clic en Nuevo elemento en la barra lateral izquierda. Tu navegador te redirige a una página donde puedes crear un nuevo elemento (paso dos).

2. A continuación, crea un nuevo elemento con lo siguiente:
- Ingresa un nombre de elemento, como se muestra a continuación. Pero en este tutorial, el nombre del elemento se establece como seed.
- Selecciona Proyecto Freestyle (un trabajo de construcción repetible, script o pipeline) entre las opciones a continuación.
- Haz clic en Aceptar en la parte inferior para crear el nuevo elemento, y tu navegador se redirige a la página de configuración del nuevo elemento.

3. Mantén la configuración predeterminada para todas las demás secciones en la página de configuración del nuevo elemento.
Desplázate hacia abajo hasta la sección de Construcción, haz clic en el botón desplegable Agregar paso de construcción y selecciona Procesar Job DSLs. Al hacerlo, se abre una opción donde proporcionarás un script DSL (paso cuatro).

4. Ahora, selecciona la opción Usar el script DSL proporcionado, como se muestra a continuación, y completa el siguiente bloque de código en el campo.
Este bloque de código es una definición de trabajo de estilo libre llamada jenkins-job-demo-1 que utiliza el paso de shell para imprimir un mensaje “Hola Mundo”. El nombre del trabajo es lo que aparecerá en la interfaz de usuario de Jenkins.
Existen muchos métodos disponibles para crear diferentes tipos de trabajos en Jenkins, que puedes encontrar en la documentación oficial.

5. Haz clic en Guardar en la parte inferior de la página para guardar la configuración del nuevo elemento (semilla).

6. Por último, navega hasta tu Tablero de Jenkins para verificar que el trabajo semilla que creaste exista, como se muestra a continuación.

Ejecución de un Trabajo Semilla
Has creado y verificado con éxito el trabajo semilla. Pero, ¿cómo sabes si el trabajo funciona? Ejecutarás el trabajo semilla contra el script DSL que proporcionaste en el paso cuatro de la sección “Creación de un Trabajo Semilla de Jenkins Usando el Complemento DSL de Jenkins”.
1. En tu Tablero de Jenkins, haz clic en el trabajo semilla para navegar a su página de configuración.

2. A continuación, haz clic en Construir Ahora en la barra lateral izquierda para ejecutar el trabajo.

3. Presiona F5 para actualizar la página. Verás una nueva compilación aparecer en la sección Historial de Compilaciones con un estado de éxito (marca de verificación verde) en la parte inferior izquierda, como se muestra a continuación.
Esta salida indica que el trabajo semilla se ejecutó correctamente, lo que creó un nuevo trabajo Jenkins (jenkins-job-demo-1) en la sección Elementos Generados.

4. Ahora, navega hasta tu Tablero de Jenkins. Como se muestra a continuación, verás el nuevo trabajo Jenkins (jenkins-job-demo-1) creado por el trabajo semilla.
Haz clic en el trabajo recién generado para acceder a su página de configuración.

5. Haz clic en Construir Ahora para ejecutar el trabajo generado (jenkins-job-demo-1).

6. Finalmente, haz clic en la flecha hacia abajo junto a la compilación exitosa en la sección Historial de compilaciones, tal como se muestra a continuación. Elige “Salida de la consola” del menú contextual para ver la salida del trabajo.

Si el trabajo generado funciona, verás el mensaje que dice ¡Hola mundo! ¡Este trabajo está funcionando!, como se muestra a continuación, que es el mensaje que definiste en el script de Job DSL.
En este punto, ¡has creado y ejecutado con éxito un trabajo de Jenkins usando el complemento Job DSL!

Creando un Trabajo para un Pipeline CI/CD Usando el Complemento Jenkins DSL
Hasta ahora, has aprendido cómo crear y ejecutar un trabajo de Jenkins de estilo libre usando el complemento Job DSL. Automatizarás la parte no humana del proceso de desarrollo de software creando un trabajo de Jenkins para un pipeline CI/CD.
Específicamente, crearás un trabajo que obtiene código de un repositorio de GitHub, compila el código y ejecuta las pruebas unitarias.
Para crear un trabajo de Jenkins para el pipeline CI/CD:
1. Navega a http://tu_dirección_ip_del_servidor:8080/job/seed/configure en tu navegador web para configurar tu trabajo semilla. Reemplaza tu_dirección_ip_del_servidor con la dirección IP de tu servidor Jenkins, y reemplaza seed con el nombre de tu trabajo.
2. Luego, desplázate hacia abajo hasta la sección Build, encuentra el campo Scripts DSL y reemplaza el contenido existente con el siguiente código.
Haz clic en Guardar una vez que hayas añadido el código para guardar los cambios.

3. Haz clic en “Build Now” en la barra lateral izquierda de la siguiente pantalla para volver a ejecutar el trabajo inicial, como se muestra a continuación. En la sección “Historial de construcciones” (abajo a la izquierda), verás que el trabajo inicial se ejecutó correctamente.
Haz clic en la nueva construcción (#2) para acceder a la página de configuración de la construcción.

4. Ahora, navega hasta la “Salida de la consola” de la nueva construcción. Verás un mensaje de “Elementos agregados” y el nombre del nuevo trabajo, como se muestra a continuación.
Esta salida indica que el nuevo trabajo de tubería se agregó correctamente.

5. Vuelve al panel de control de Jenkins y verás que el nuevo trabajo de tubería se ha agregado (jenkins-job-demo-2) a la lista de trabajos. Haz clic en ese nuevo trabajo de tubería para acceder a la página de configuración del trabajo.

6. Por último, haz clic en “Build Now” para ejecutar el nuevo trabajo de tubería. Verás que el trabajo se ejecutó correctamente, como se indica en la sección “Historial de construcciones”.
Haz clic en la flecha desplegable junto al trabajo y selecciona “Salida de la consola”.

En la “Salida de la consola” que se muestra a continuación, puedes ver la salida del trabajo, que indica que Jenkins clonó el repositorio con éxito, construyó el código y ejecutó las pruebas unitarias.

Conclusión
En este tutorial, has aprendido cómo crear trabajos de Jenkins con el complemento Job DSL. Has aprendido a mejorar el desarrollo de aplicaciones creando una tubería CI/CD con el complemento Jenkins Pipeline.
El complemento Job DSL y el complemento Jenkins Pipeline trabajan codo a codo para ofrecer una forma potente de gestionar trabajos de Jenkins y canalizaciones de construcción. ¿Por qué no configurar estos complementos para crear canalizaciones de construcción sofisticadas que desencadenen automáticamente trabajos de Jenkins como parte del proceso de construcción?