Ahora que tenemos un controlador Jenkins configurado con nodo para ejecución y repositorio de Nexus para almacenar los artefactos, podemos montar un flujo de trabajo que nos permite un buen seguimiento y de fácil manejo para adaptarlo a varios jobs.
Cuando tenemos desarrollado un job en Talend Open Studio (TOS), llega el momento de pasar a producción.
La única opción de ejecución del job fuera del Studio, pasa por compilarlo (Build) y ejecutar el paquete con Java.
Como en la segunda parte, tenemos el paquete subido como artefacto en Nexus y un sistema de ejecución basado en Jenkins totalmente configurado.
Podemos ejecutar el proyecto pipeline de Jenkins desarrollado para las siguientes etapas:
Ejecución del script lanzador correspondiendo al sistema operativo, powershell (extensión .ps1) para windows o bash Shell (extensión .sh) para las maquinas de tipo Unix.
Cabe notar que en Windows se podría usar el script .bat igualmente presente sin cambio ninguno. Pero como se necesita powershell para lectura de Nexus y descompresión, elegimos Powershell para más consistencia.
Detalle del script del pipeline
Para simplificar vamos a repasar la sintaxis y las etapas del script que henos creado, para simplificar vamos a ver la versión para plataforma Windows con Powershell aunque tenemos versión para plataformas Unix y multiplataforma que compartiremos de todos modos.
La declaración pipeline es obligatoria. agent, nos permite especificar que el script debe usar nodos con etiqueta Windows.
El bloque environment permite de definir variable de entorno, son validas dentro del pipeline y solo de lectura.
stages, indica que es el bloque donde se pone el código de los pasos, cada uno tiene la etiqueta stage con el nombre por lo cual se identificará.
Cada stage tiene pasos identificados por steps, el comando del paso “clean WS” es un comando que permite de borrar el contenido de la carpeta que servirá de espacio de trabajo, De no hacerlo, se podría re-usar ficheros de la ejecución precedente.
Aquí usamos un paso que contiene comandos de powershell para acceder al fichero descriptivo del paquete a través de la API de Nexus y determinar la última versión. En el caso de querer una versión fija, se inicializa sencillamente. Se guardan dos fichero en el workspace, uno para poder inicializar el valor de esta última versión en otra instancia de powershell otro con el comando para lazar el script ps1. stash, que está comentado, permite guardar ficheros para uso en otros proyectos. |
Descarga el artefacto necesario desde Nexus, se obtiene un fichero zip en espacio de trabajo.
Único comando de powershell para extraer el fichero de propiedades y las dos carpetas del paquete Java construido por Talend.
Comando powershell ejecuta el lanzador .ps1 en la carpeta del proyecto. |
Cuando vamos al panel de control del proyecto vemos el resultado de las ejecuciones y el paso que dio lugar al fallo, si hubo.
Ademas, podemos ver el log de cada paso. En el ejemplo debajo, la salida de consola del job de Talend.
En la siguiente parte veremos como ampliar la funcionalidad del pipeline base con trigger.