Configuración avanzada de jobs en Jenkins
Clase 6 de 15 • Curso Básico de Jenkins
Contenido del curso
Jenkins Core
Jobs
Plugins
Pipelines
Slave
Cierre
Impulsa la automatización en Jenkins con configuraciones clave: parámetros, triggers, limpieza de workspace, timeouts y artefactos. Más allá de ejecutar a mano con Build Now, estas prácticas evitan errores, ahorran disco y vuelven tus despliegues predecibles.
¿Cómo configurar un job de Jenkins sin perder control?
Configurar bien desde el inicio marca la diferencia. La descripción, el descarte de builds, los parámetros y la opción de deshabilitar protegen tu entorno y facilitan el trabajo en equipos con muchos jobs.
¿Qué rol cumplen la descripción y el descarte de builds?
- Agrega una descripción clara: orienta cuando hay muchos trabajos en Jenkins.
- Activa Discard all builds: evita llenar el disco.
- Define retención por días o por cantidad de builds.
- Ejemplo práctico: conservar solo los últimos 2 builds para ahorrar espacio.
- Útil para auditorías: puedes guardar por un año si el job es de despliegues.
¿Cómo usar parámetros de tipo string para personalizar ejecuciones?
- Marca this project is parametrized.
- Añade un string parameter llamado name con valor por defecto “Yami”.
- Ejecuta con build with parameters y úsalo en tu script: se verá “hello from Yammy”.
- Caso real: pasar la versión a desplegar (por ejemplo, “1.3”) o dejar el valor por defecto para tomar la última.
¿Cuándo conviene deshabilitar un proyecto?
- Marca Disable this project si algo salió mal o no debe correr automáticamente.
- Evita ejecuciones accidentales mientras investigas o corriges.
¿Qué triggers y fuentes de código optimizan la automatización?
Elegir bien el source code management y los build triggers define cómo y cuándo se dispara el job. La integración con repositorios y eventos externos te libera de ejecutar manualmente.
¿Cómo conectar Git y credenciales sin complicaciones?
- En source code management están git y subversion por defecto.
- Añade repositorios de GitHub o GitLab.
- Configura credentials para acceso seguro al código (se verá más adelante).
- Si el job corre un script local, puedes dejarlo en none temporalmente.
¿Qué build triggers cubren API, dependencias y cron?
- Trigger remotely: ejecuta por API sin entrar a la UI.
- after other projects are built: corre B solo si A está “stable/success”, o decide correr ante fallo según tu flujo.
- build periodically: usa sintaxis de cron job para programar por minuto, hora o día (por ejemplo, sábado en la noche).
- GitHub Hook trigger: dispara cuando hay push en GitHub.
¿Por qué los pipelines dependen del estado stable/success?
- Permite decisiones basadas en el resultado del job anterior.
- Habilita pipelines y workflows “N a 1” o “1 a N”.
- Coordina múltiples jobs sin intervención manual.
¿Qué prácticas de entorno y post build aseguran estabilidad?
El build environment y las acciones posteriores blindan tus ejecuciones. Evitan residuos, protegen secretos y cortan procesos colgados antes de que afecten al servidor.
¿Por qué borrar el workspace en cada ejecución?
- Activa Delete Workspace Before It Starts: deja el folder limpio en cada run.
- Evita archivos residuales que rompen builds futuros.
- Si usas git, descarga código fresco; si no, corre el script en limpio.
- Recomendación fuerte: déjalo siempre marcado como buena práctica.
¿Cómo manejar secretos y timeouts sin riesgos?
- Use Secret Text Files: inyecta variables sensibles sin exponerlas; solo Jenkins las ve.
- abort the build if it's stuck: define un tiempo global (por ejemplo, 3 minutos) para cancelar si se cuelga.
- Añade timestamps al console output para auditar con precisión.
- run with timeout por comando: si un paso tarda más, dale una ventana específica. Si no, usa el global.
¿Qué acciones posteriores agregan valor con artefactos?
- En post build actions puedes enviar email o fijar el estado en GitHub.
- archive the artifacts: conserva resultados para usarlos en otros jobs.
- Combínalo con “escuchar” otros jobs y crea automatizaciones potentes.
Al guardar y ejecutar con build with parameters (cambiando el nombre a “Yammy”), el output mostró “hello from Yammy”, y solo quedaron los builds 3 y 4 gracias a conservar los últimos dos. Con esto logras: ahorrar espacio con Discard all builds, ganar confiabilidad borrando el workspace en cada ejecución y flexibilizar despliegues con parámetros.
¿Tienes dudas o un caso específico en tu pipeline? Comenta cómo planeas usar parámetros, triggers o artefactos y afinamos la estrategia juntos.