// Engineering Log

CI/CD: de «en mi ordenador funcionaba» al despliegue automático

Publicado el 14.11.2025

// Ruta rapida

Este articulo pertenece al tema Despliegue y estabilidad.

Guía sencilla para principiantes: Jenkins → GitLab → GitHub → GitOps


¡Hola!
¿Acabas de empezar en DevOps o ya estás cansado de oír «y en nuestra empresa tenemos CI/CD» en las entrevistas? ¿Quieres finalmente entender por qué el código que funciona en tu portátil falla en el servidor?

Este artículo es tu primer paso hacia la automatización. Y será realmente sencillo.
Lo desglosaremos todo, sin términos cargados y con ejemplos.


¿Qué es CI/CD (muy simple)

CI/CD — es cuando presionas git push y todo lo demás sucede automáticamente.

Veámoslo por partes:

AbreviaturaQué significaPara qué sirve
CI (Continuous Integration)Integración continuaPara que el código de distintos desarrolladores no se rompa entre sí
CD (Continuous Delivery / Deployment)Entrega continuaPara que las actualizaciones se puedan desplegar con un botón — o incluso sin botón

Ejemplo de la vida real

Tú y un amigo escriben un sitio web.

  • Sin CI: el viernes intentan fusionar el código → cientos de errores → adiós fin de semana.
  • Con CI: cada git push activa los tests → los errores se ven de inmediato.

Herramientas: del «abuelo» a las «de moda»

Jenkins — «el abuelo del CI/CD»

Jenkins es como una máquina industrial vieja pero potente. Se puede hacer prácticamente cualquier cosa, pero tendrás que aprender a convivir con él.

Cómo funciona

  • Instalas Jenkins en un servidor
  • Escribes instrucciones en Jenkinsfile
  • Jenkins vigila Git y ejecuta los pipelines

Ventajas

  • Máxima flexibilidad
  • Miles de plugins

Desventajas

  • Soporte, actualizaciones y mantenimiento — a tu cargo
  • La interfaz no ha cambiado en muchos años

Para quién
Empresas grandes o proyectos con legado histórico.


GitLab CI/CD — «todo en uno»

GitLab no es solo un reemplazo de GitHub. Es una especie de cosechadora DevOps: CI/CD, Registry, monitorización, seguridad.

Cómo empezar en 5 minutos

  1. Crea un repositorio
  2. Añade el archivo .gitlab-ci.yml:
stages:
  - test
  - build

test:
  stage: test
  script:
    - echo "Ejecutando pruebas..."

build:
  stage: build
  script:
    - echo "Construyendo la imagen Docker..."
  1. Haz git push — y el pipeline se ejecutará automáticamente.

Ventajas

  • No necesitas desplegar nada
  • Todo en un mismo panel: código → compilación → contenedor → despliegue
  • Generosas minutos gratuitos de CI

Desventajas

  • Si el equipo ya usa GitHub, migrar será complicado

Para quién Equipos que necesitan todo listo para usar.


GitHub Actions — CI/CD directamente en GitHub

¿Tienes el código en GitHub? Entonces CI/CD ya te espera.

Crea la carpeta .github/workflows/.

Ejemplo: ejecutar tests en cada push

name: Pruebas

on: [push]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: '3.11'
      - name: Ejecutar pruebas
        run: echo "Aquí podría estar pytest"

Ventajas

  • Marketplace con una gran cantidad de acciones listas
  • Gratis para repositorios públicos
  • Integración sencilla con nubes y servicios

Desventajas

  • Límites de minutos para repositorios privados

Para quién Para todos los que ya usan GitHub. Estándar de facto.


Runner — quién ejecuta las tareas

El pipeline es la receta.
El Runner es el cocinero que prepara según la receta.

PlataformaTipos de Runners
GitLabShared (compartidos) y Self-hosted
GitHubHosted (máquinas de GitHub) y Self-hosted

GitOps — nivel «Profesional»

GitOps es un enfoque en el que Git es la única fuente de la verdad.

Principio sencillo

  • Cambias un YAML en Git → el clúster se actualiza automáticamente
  • Ejecutar kubectl apply manualmente → se considera mala práctica

Por qué es potente

  • Las configuraciones son reproducibles
  • Siempre hay registros e historial de cambios
  • El servidor siempre representa el “estado desde Git”

Herramientas GitOps

InstrumentoDescripción
Argo CDPanel bonito. Se ven el estado Desired y Actual.
Flux CDMinimalismo. Todo se gestiona vía Git, casi sin UI.

Qué herramienta elegir

SituaciónElección
Almacenas el código en GitHubGitHub Actions
Quieres todo en unoGitLab CI
Infraestructura histórica complejaJenkins
Kubernetes + automatizaciónGitHub/GitLab + Argo/Flux

Configura tu primer pipeline (5 minutos)

  1. Crea un repositorio privado en GitHub
  2. Añade el archivo .github/workflows/ci.yml:
name: CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: echo "¡Hola, CI/CD! 👋"
      - run: echo "Pruebas aprobadas ✅"
  1. Haz git push y abre la pestaña Actions

Listo — tu primer CI/CD está funcionando.


Consejos útiles

  1. Empieza por lo básico: build → test.
  2. No guardes contraseñas en el repositorio — usa Secrets.
  3. Ejecuta el despliegue solo desde la rama main.
  4. Los pipelines deben ser cortos y claros.

Conclusión

Ya has dado el primer paso.
Hoy — CI simple.
En una semana — ejecución de tests.
En un mes — construcción de imágenes Docker.
En medio año — GitOps y despliegues automáticos.

CI/CD no es magia. Es simplemente la automatización de tus pasos habituales de desarrollo.
Y seguro que lo lograrás.

// Tarea parecida

Si estas resolviendo algo parecido

Este articulo pertenece a uno de los temas principales de trabajo. Puedes seguir leyendo sobre el tema, ir a la pagina principal para entender a que me dedico o abrir directamente los servicios.

Tema del articulo

Despliegue y estabilidad

Docker, CI/CD, despliegues, monitoreo, observabilidad y respuesta a incidentes.

Tareas frecuentes de esta tema

  • Configurar despliegues sin trabajo manual ni caos
  • Añadir monitoreo, alertas y observabilidad base
  • Investigar incidentes y estabilizar produccion

// Siguiente paso

Si necesitas ayuda con este tema y no solo otro articulo, es mejor ir directo a la pagina del servicio. La pagina principal y la seleccion de materiales quedan como rutas secundarias.

Abrir servicios

// Reviews

Reseñas relacionadas

Llegué con una solicitud costosa para la configuración de un servidor VPS, pero durante la consulta Mikhail propuso una solución mucho más sencilla y económica. Al final ahorré dinero y tiempo. Mikhail — un verdadero experto que trabaja por el resultado del cliente, no por la factura. ¡Lo recomiendo!

Llegué con una solicitud costosa para la configuración de un servidor VPS, pero durante la consulta Mikhail propuso una solución mucho más simple y económica. Al final ahorré presupuesto y tiempo. Mikhail es un …

kfhzasorin

Configuración de VPS, configuración del servidor

12.05.2026 · ★ 5/5

Hubo varios problemas, tanto en la parte técnica como en la comprensión general. Mijaíl respondió rápido a la solicitud, ayudó a aclarar las cosas y resolvió los problemas técnicos; por ello, muchas gracias. Estoy satisfecho con el resultado.

Hubo varios problemas relacionados tanto con la parte técnica como con la comprensión en general. Mijaíl respondió rápidamente a la solicitud, ayudó a aclarar las cosas y resolvió los problemas técnicos, por lo que le …

abazawolf

Configuración de VPS, configuración del servidor

18.02.2026 · ★ 5/5

// Contact

¿Necesitas ayuda?

Escríbeme y te ayudaré a resolver el problema

Enviar solicitud
Escribir y recibir una respuesta rápida