Saltar al contenido principal
Home
HexagonalGuru

CI/CD: La Guía Honesta para Equipos que Aún Despliegan a Mano

Avatar de HexagonalGuru

HexagonalGuru

CI/CD: La Guía Honesta para Equipos que Aún Despliegan a Mano

Son las once de la noche de un jueves. Alguien del equipo — siempre la misma persona — está desplegando a producción siguiendo un documento de veintitrés pasos que solo ella entiende del todo. Nadie respira. Si el paso diecisiete falla, mañana será un mal día. Si esto te suena, no tienes un problema de despliegues: tienes un problema de CI/CD. O más exactamente, de ausencia de él.

Esta guía es para equipos que despliegan a mano y lo saben: qué es CI/CD sin evangelismo, qué cambia de verdad, cuánto cuesta montarlo y por dónde empezar sin parar el producto.

Qué Es CI/CD, en una Frase

Integración continua (CI): cada cambio de código se fusiona pronto y se verifica automáticamente — compila, pasa los tests, cumple los análisis — en minutos, no en la «semana de integración» de antes del release.

Entrega/despliegue continuo (CD): lo que pasa la verificación puede llegar a producción pulsando un botón (entrega continua) o directamente solo (despliegue continuo), de forma repetible y aburrida. Aburrida es el piropo: los despliegues memorables son los malos.

CI/CD no es una herramienta que se compra: es un pipeline — una cadena de pasos automáticos entre «git push» y «está en producción» — más una disciplina: cambios pequeños, frecuentes y siempre verificados.

Lo Que Cambia de Verdad (y Lo Que No)

Despliegue manual a medianoche con errores frente a pipeline CI/CD automatizado que permite al desarrollador trabajar tranquilo

Lo que cambia:

  • El miedo desaparece. Un despliegue es un proceso de diez minutos que ya se ha ejecutado cientos de veces en staging, no un ritual nocturno. Cuando desplegar deja de dar miedo, se despliega más seguido; y los cambios pequeños son infinitamente más fáciles de revisar y de revertir que los monolitos de tres semanas de trabajo.
  • Los errores se detectan donde son baratos. Un test que falla en el pipeline cuesta cinco minutos. El mismo bug encontrado por un cliente cuesta soporte, confianza y un hotfix de emergencia. La economía es brutalmente sencilla.
  • El conocimiento se institucionaliza. El documento de veintitrés pasos se convierte en código versionado que cualquiera puede leer y ejecutar. El «bus factor» de los despliegues pasa de uno a todo el equipo.
  • La velocidad se estabiliza. Ya no hay semanas buenas y semanas de «no toques nada que estamos integrando». El ritmo se vuelve predecible, y la previsibilidad es lo que negocio realmente compra.

Y lo que no cambia: CI/CD no arregla una arquitectura rota, no sustituye los tests que no existen y no hace que un equipo desordenado sea disciplinado. Automatizar el caos solo produce caos más rápido. Por eso el orden importa, como veremos.

Cuánto Cuesta No Tenerlo

La cuenta es rápida y casi nadie la hace:

  • Horas de despliegue manual: si desplegar cuesta 3 horas de una persona senior cada semana, son ~150 horas al año de trabajo calificado dedicado a algo que una máquina hace en minutos.
  • El coste del error humano: un paso saltado en el documento de veintitrés, un hotfix de emergencia un sábado. Una sola incidencia de esas al año suele costar más que montar el pipeline entero.
  • El coste de oportunidad: funcionalidades que esperan al «ventana de despliegue» del jueves en vez de llegar al cliente el día que se terminan. La velocidad percibida del equipo no es la velocidad de desarrollo: es la velocidad de entrega.
  • La rotación: a los buenos desarrolladores les toca hacer de bombero nocturno, y se van. Sustituir a una persona senior cuesta meses y cinco cifras.

Por Dónde Empezar (en Este Orden)

El error clásico es intentar montar el pipeline perfecto de una vez. El camino que funciona es incremental, y cada paso aporta valor aunque te quedes ahí:

  1. Semana 1-2 — CI mínimo: cada push ejecuta build + los tests que tengas + análisis estático. Si no hay tests, el pipeline empieza verificando que compila y pasa el linter — ya es más de lo que tenías ayer. (Y si necesitas una estrategia de tests desde cero, nuestra guía de la pirámide de testing te dice dónde poner el esfuerzo).
  2. Semana 3-4 — Entorno de staging automático: lo que pasa CI se despliega solo a un entorno de preproducción idéntico a producción. Aquí es donde el documento de veintitrés pasos se convierte en un script versionado.
  3. Mes 2 — Despliegue a producción con un botón: entrega continua: un humano decide cuándo, la máquina decide cómo. Con rollback automático si las métricas de salud empeoran.
  4. Mes 3+ — Despliegue continuo real: cuando la confianza (y la cobertura de tests) lo justifica, se quita el botón. No es obligatorio llegar: muchos equipos sanos viven felices en el paso anterior.

La herramienta es lo de menos: GitHub Actions, GitLab CI, Jenkins o lo que ya tengas. Nosotros mismos llevamos años con Jenkins autoalojado desplegando microservicios con cada push a main — la disciplina importa más que el logo.

Errores Comunes

  1. Empezar por Kubernetes. Orquestar contenedores antes de tener CI es ponerle un motor de Fórmula 1 a un coche sin frenos. Primero el pipeline, después la plataforma — y solo si la necesitas, como contamos en cuándo Kubernetes y cuándo te sobra.
  2. Tests lentos o poco fiables en el pipeline. Si la suite tarda una hora o falla aleatoriamente, el equipo empezará a ignorarla y el CI morirá. Tests rápidos y fiables, aunque sean pocos, ganan a una catedral de tests flaky.
  3. Pipelines que nadie mantiene. El pipeline es código de producción: necesita revisión, alertas cuando falla y alguien responsable de su salud, igual que el resto del sistema.
  4. Automatizar un despliegue roto. Si el proceso manual tiene pasos absurdos («copiar esto a mano porque si no no funciona»), arregla el paso antes de automatizarlo. Automatizar la chapuza la convierte en chapuza institucional.

En Resumen

CI/CD convierte los despliegues de ritual nocturno en proceso aburrido: cambios pequeños, verificados en minutos, entregados con un botón. Cuesta menos de lo que parece — unas semanas de trabajo incremental — y no tenerlo cuesta más de lo que casi nadie calcula. Empieza por CI mínimo, automatiza staging, ponle un botón a producción y deja que la confianza decida si algún día quitas el botón.

Si tus despliegues dependen de una persona, un documento y una noche de jueves, podemos montarte el pipeline completo — integración, tests, staging automático y despliegue con rollback — sin parar el desarrollo. Hablemos de tu caso →

Sigue leyendo: Kubernetes: cuándo lo necesitas de verdad y cuándo te sobra.

  • #devops
  • #cloud

Artículos relacionados

¿Empezamos?

¿Listo para construir algo que crezca con tu negocio?

Cuéntanos tus objetivos y trazaremos juntos la ruta de diseño, desarrollo y tecnología que te lleve de la visión a resultados medibles.