Bandera: Русский Русский Bandera: English English

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

Publicado el 14.11.2025

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.

Reseñas relacionadas

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.

abazawolf · Configuración de VPS, configuración del servidor

18.02.2026 · ⭐ 5/5

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 doy las gracias por ello. Estoy satisfecho con el resultado.

¿Necesitas ayuda?

Escríbeme y te ayudaré a resolver el problema

Publicaciones relacionadas