🧭 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étrica | Antes | Después |
|---|---|---|
| Tiempo medio de validación | 2 días | 3–4 h |
| Errores por entorno contaminado | Frecuentes | Eliminados |
| Coste de infraestructura | Alto | Constante / 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