Cómo pasar parámetros entre jobs en Jenkins
Clase 9 de 15 • Curso Básico de Jenkins
Contenido del curso
Jenkins Core
Jobs
Plugins
Pipelines
Slave
Cierre
La automatización efectiva en Jenkins depende de dos pilares: encadenar jobs con parámetros y auditar quién llamó a quién. Con el Parametrize Trigger Plugin bien configurado, puedes pasar valores entre jobs, disparar ejecuciones dependientes y mantener un rastro claro en console output. Aquí verás cómo hacerlo sin confusiones con plugins similares y con prácticas que elevan la flexibilidad.
¿Cómo elegir e instalar el plugin correcto en Jenkins?
Elegir el plugin adecuado es clave. No es lo mismo Parametrize Trigger Plugin que Parametrize Remote Trigger Plugin: son distintos y cumplen roles diferentes. El que importa aquí es Parametrize Trigger Plugin. Tras instalarlo, se ejemplifican dos jobs: watchers y parametrize.
- Diferencia crítica: no uses el remote parametrize job para este flujo. Usa el paso “trigger builds on other projects”.
- Beneficio inmediato: triggers con parámetros predefinidos y mayor trazabilidad entre jobs.
¿Cómo encadenar jobs con parámetros en Jenkins?
La idea es simple y potente: un job dispara a otro pasando parámetros, y un tercero observa la ejecución exitosa para actuar. Así, se construye una cadena declarativa y auditable.
- watchers: en configure, activa “build after other projects are built” y define que, si hello platzi es “successful”, se ejecute. Mensaje esperado: “Running after hello platzi successful”.
- parametrize: acepta un parámetro llamado root ID y ejecuta un
echocon ese valor. - hello platzi: reconoce un subproject llamado parametrize y aparece con downstream projects (watchers y parametrize) cuando Jenkins detecta dependencias.
- Paso clave: añade el build step “trigger builds on other projects” y selecciona el job correcto por autocomplete en el prompt.
- Parámetros predefinidos: asigna
root ID = build number. “build number” es una variable de entorno disponible en todos los jobs (vía “see list of available environment variables”). - Ejecuta con “run with parameters” y guarda con “save”. Verás cómo la ejecución de hello platzi dispara parametrize y, por observación, watchers.
¿Qué pasos seguir para configurar trigger con parámetros?
- Selecciona “trigger builds on other projects”.
- Escribe el nombre del job destino y elige por autocomplete.
- Activa “predefined parameters”.
- Define
root ID = build numberpara pasar el identificador de la ejecución actual. - Guarda y prueba con “run with parameters”.
¿Cómo verificar la trazabilidad en console output?
- Abre la ejecución del job destino y revisa “parameters”.
- En console output verás: “started by upstream project hello platzi” y el número de build que lo disparó.
-
Ventaja: Jenkins conoce toda la cadena de ejecuciones, incluso con varios niveles intermedios.
-
Habilidades que refuerzas: configurar “build after other projects are built”. definir predefined parameters. usar variables de entorno como “build number”. leer console output para auditoría. diseñar cadenas declarativas de jobs.
¿Por qué priorizar parametrized builds sobre watchers?
Aunque watchers funciona para reaccionar a un “successful”, no facilita pasar parámetros y su información de rastro es limitada. En cambio, los parametrized builds ofrecen flexibilidad y auditoría completa del “upstream”, los parámetros usados y el orden de invocación.
- Con parametrize: pasas el root ID u otros valores como ID de commit o tag para deploy. Jenkins puede “buscar el tag en GitHub” y “deploy” la versión correcta tras los tests.
- Con watchers: tienes solo “tres opciones” y no es sencillo propagar parámetros a lo largo de la cadena.
- Recomendación práctica: usa parametrize jobs en lugar de watchers cuando necesites parámetros y trazabilidad.
¿Quieres compartir cómo encadenas jobs con parámetros o qué variables de entorno te resultan más útiles en Jenkins? Deja tus comentarios y recomendaciones.