PipeCD y la evolución de CI/CD: del EventWatcher al seguimiento de implementaciones
PipeCD, proyecto incubado en CNCF Sandbox, ha evolucionado para resolver desafíos fundamentales en la integración y entrega continua bajo principios GitOps. A través de la creación de EventWatcher y el nuevo concepto de seguimiento de implementaciones, el equipo ha mejorado la trazabilidad, escalabilidad y conexión entre repositorios de código y manifiestos. Este artículo explora los problemas detectados, las soluciones implementadas y la dirección futura del proyecto.

Table of Contents
Introducción
PipeCD, actualmente parte del programa Sandbox de la Cloud Native Computing Foundation, nació como una solución interna en CyberAgent para optimizar la productividad del desarrollador mediante prácticas modernas de CI/CD y GitOps. Aunque su reconocimiento público comenzó recientemente, PipeCD cuenta con más de cuatro años de evolución. Durante este tiempo, el equipo identificó desafíos estructurales en la conexión entre Integración Continua (CI) y Entrega Continua (CD), especialmente en entornos complejos con múltiples microservicios.
Este artículo analiza cómo se resolvieron estos desafíos mediante EventWatcher y cómo el nuevo concepto de Seguimiento de Implementaciones fortalecerá aún más la trazabilidad y gobernanza de despliegues.
Separación CI/CD y principios GitOps
En el enfoque moderno de GitOps:
- CI pertenece al repositorio de código fuente.
- CD pertenece al repositorio de manifiestos.
- La salida de CI se convierte en la entrada de CD.
Herramientas populares como Argo CD y Flux CD utilizan imágenes de contenedor como puente entre CI y CD. Este modelo aprovecha registros como Docker Hub, ECR o GCR y utiliza etiquetas OCI para almacenar metadatos como hashes de commits.

Sin embargo, este enfoque presenta limitaciones:
- Dependencia de múltiples registros de contenedores.
- Soporte limitado a imágenes como artefacto.
- Problemas de rendimiento al escalar.
- Falta de soporte para Helm, Terraform o artefactos no basados en contenedores.
Dado que PipeCD busca compatibilidad amplia con múltiples plataformas, este modelo resultaba insuficiente.
EventWatcher: una nueva interfaz entre CI y CD
En lugar de usar imágenes como interfaz, PipeCD introdujo EventWatcher. EventWatcher permite que CI envíe eventos directamente a CD como disparadores de despliegue.
Estos eventos incluyen:
- Nombre y etiqueta del evento.
- Datos utilizados en el pipeline.
- Información de reemplazo en manifiestos.
- Metadatos adicionales como hash de commit y URL de PR.
Este diseño ofrece ventajas clave:
- Independencia del tipo de artefacto.
- Mejor rendimiento.
- Compatibilidad amplia con distintos sistemas CI.
- Trazabilidad mejorada.
Además, la información contextual enviada junto al evento (como Source-Commit-Hash y Source-URL) permite vincular explícitamente: Implementación → Repositorio de manifiestos → Repositorio de código Esto resolvió el problema de identificar qué cambios de código originaron cada despliegue.

Limitaciones detectadas en proyectos complejos
En entornos con múltiples microservicios dentro de un mismo repositorio, surgió un nuevo desafío:
- Un solo commit puede activar múltiples despliegues simultáneamente.
- Cuando varios equipos trabajan sobre bibliotecas compartidas o protos comunes, el volumen de despliegues relacionados aumenta significativamente.
- La interfaz de usuario dificultaba identificar con claridad qué implementaciones se activaron por un commit específico.
Agregar simplemente un campo root cause commithash no resolvía completamente el problema, ya que los usuarios necesitaban navegación bidireccional y contexto más amplio.

Deployment Tracking: el siguiente paso evolutivo
Como respuesta, PipeCD introdujo el concepto de Seguimiento de Implementación (Deployment Tracking). Este modelo utiliza el commit hash como clave raíz e incluye:
- Información completa del repositorio de código.
- Metadatos del commit (autor, mensaje, rama).
- Lista de implementaciones activadas.
- Datos completos de cada pipeline ejecutado.
Con esta arquitectura, los ingenieros pueden:
- Navegar desde un commit a todas sus implementaciones.
- Entender el impacto real de sus cambios.
- Mejorar la trazabilidad en arquitecturas distribuidas.
La funcionalidad está planificada para su lanzamiento en el segundo trimestre de 2025.

Recomendaciones
- Separar claramente los repositorios de código y manifiestos para cumplir principios GitOps.
- Evitar depender exclusivamente de imágenes de contenedor como interfaz CI/CD.
- Implementar trazabilidad explícita mediante eventos enriquecidos con metadatos.
- Diseñar sistemas de CD pensando en escalabilidad multi-servicio.
- Priorizar la navegación bidireccional entre código e implementación
Conclusiones
- PipeCD demuestra que la evolución de CI/CD no solo depende de automatizar despliegues, sino de mejorar la trazabilidad, rendimiento y gobernanza en entornos complejos.
- EventWatcher resolvió las limitaciones del modelo basado en imágenes de contenedor, ofreciendo mayor flexibilidad y compatibilidad. Sin embargo, el verdadero salto estratégico llega con Deployment Tracking, que permite conectar de forma estructurada el repositorio de código con todas sus implementaciones derivadas.
- Este avance posiciona a PipeCD como una solución madura dentro del ecosistema GitOps y fortalece su papel dentro del entorno cloud-native impulsado por la CNCF.
Glosario
- CI (Integración Continua): Proceso automatizado que compila y prueba código tras cada cambio en el repositorio.
- CD (Entrega Continua): Automatización del despliegue de aplicaciones hacia entornos productivos.
- GitOps: Metodología que utiliza Git como fuente única de verdad para infraestructura y despliegues.
- EventWatcher: Funcionalidad de PipeCD que conecta CI y CD mediante eventos en lugar de imágenes.
- Deployment Tracking: Sistema que agrupa implementaciones bajo un commit raíz para mejorar trazabilidad.

