Flujo CI/CD completo: Jenkins desde staging hasta producción
Clase 15 de 21 • Curso Profesional de DevOps
Contenido del curso
Containers y ambientes de desarrollo
Pruebas
Integración Continua
Despliegue Continuo
Reliability
Cierre del curso
Lanza a producción con seguridad implementando un flujo CI/CD claro en Jenkins: usa un único artifact, encadena jobs y ejecuta acceptance tests en cada ambiente. La clave está en la repetibilidad del pipeline y en confiar en las pruebas como tu norte.
¿Cómo llevar el mismo artifact de staging a producción?
Usa el mismo pipeline que ya funcionó en staging para producción. Si trabajas con un Jenkinsfile, el código es el mismo; solo cambia el job que invocas. La confianza proviene de usar el mismo artifact en toda la cadena.
- Crea un job para producción copiando el de staging en Jenkins.
- Recibe el parámetro artifact ID en ambos jobs.
- Limpia el workspace antes del build para evitar residuos.
- Asocia el secreto now token para desplegar en Now.
- Reutiliza exactamente el mismo script: el artifact no cambia, cambia el ambiente.
- Pasa el artifact por parámetros entre jobs de Jenkins.
- Acepta distintos formatos: zip file, Debian package o URL de repositorio público.
Idea clave: si el artifact es único, puedes lanzarlo a múltiples ambientes sin cambios y con la misma trazabilidad.
¿Cómo encadenar jobs en Jenkins con post build action?
El encadenamiento asegura que solo se despliegue a producción cuando el build está estable y los acceptance tests pasaron. Primero crea el job de producción y luego configuras el de staging para llamarlo.
- Crea “Deploy Web App Production” antes de modificar staging.
- En “Deploy Web App Staging”, añade un Post Build Action que seleccione el job de producción.
- Configura el trigger solo cuando el build esté “stable”.
- Añade los current build parameters para propagar el artifact ID.
- Ejecuta con Build with parameters y sigue la cadena: staging llama a producción, esperas y observas resultados.
Práctica recomendada: el acceptance test debe poder romper el build. Si falla, no se despliega a producción.
¿Por qué correr acceptance tests en staging y producción?
Porque los ambientes nunca son idénticos. Aunque staging “imite” producción, hay diferencias de configuración: URL, parámetros de conexión y base de datos. Ejecutar la batería de tests en todos los ambientes te dice dónde está el problema.
- Si pasa en staging y falla en producción, el problema está en producción, no necesariamente en el código.
- Corre la batería de acceptance tests en staging, producción y cualquier otro ambiente.
- Practica continuous integration: testear continuamente en todo momento.
- La calidad de tus pruebas define tu confianza; las pruebas son tu guía.
- Despliega con frecuencia y prueba siempre, sin importar si usas Now, Spinnaker, AWS o ECS.
Habilidades y keywords reforzadas dentro del flujo: - Artifact ID: identificador único que viaja por toda la cadena de jobs. - Workspace limpio: evita archivos residuales que afecten el build. - Secreto now token: credencial para el deploy en Now. - Jenkinsfile: código del pipeline reutilizable entre ambientes. - Post Build Action y current build parameters: encadenamiento y traspaso de parámetros. - Acceptance test: batería que valida y puede detener el release. - Staging y producción: ambientes distintos con configuración diferente. - Continuous integration: pruebas continuas para ganar seguridad.
¿Tienes dudas sobre cómo parametrizar el artifact o encadenar tus jobs en Jenkins? Comparte tu caso en comentarios y afinamos tu pipeline juntos.