CI/CD

Ambientes efímeros controlados en OpenShift

24/2/2025

🧭 Contexto

El testing compartido generaba inconsistencias entre builds.
Se necesitaba un modelo que permitiera aislar cada ejecución de QA sin crear ni destruir namespaces completos.


⚙️ Implementación

  • Namespace persistente: qa-automation.
  • Recursos efímeros por build: pods, jobs y routes con nombre versionado (api-test-job-7812, playwright-pr245, etc.).
  • Automatización de limpieza: scripts post-build para eliminar recursos tras la validación.
  • Paridad con producción: las plantillas YAML reutilizan la misma configuración base.
graph TD
  A[Jenkins Pipeline] --> B[Namespace QA Persistente]
  B --> C[Pods/Jobs temporales]
  C --> D[Playwright Runner]
  D --> E[Allure Reporting]
  B --> F[Cleanup Script]
  F --> G[Eliminación de recursos efímeros]

📈 Resultados

MétricaAntesDespués
Tiempo medio de validación2 días3–4 h
Errores por entorno contaminadoFrecuentesEliminados
Coste de infraestructuraAltoConstante / controlado

💡 Lecciones

  • “Efímero” no siempre implica borrar namespaces: basta con aislar recursos y limpiar inteligentemente.
  • El uso de nombres dinámicos y pipelines parametrizados permite total trazabilidad por build.
  • OpenShift facilita entornos reproducibles sin overhead.

🧠 Rol: Diseño de ambientes CI/CD reproducibles
⚒️ Stack: OpenShift, Jenkins, YAML Templates, Playwright, Allure