DevPath · Aprende a programar ESPTEN

Docker y CI/CD

Integración continua (CI)

Qué es la integración continua

La integración continua (CI) consiste en integrar y verificar el código con frecuencia y de forma automática. Cada vez que alguien sube cambios, un servidor ejecuta una serie de comprobaciones para detectar errores pronto, antes de que lleguen a producción.

Un pipeline de CI típico, en orden, es:

  1. Instalar las dependencias (npm ci).
  2. Lint: revisar el estilo y errores estáticos.
  3. Test: ejecutar las pruebas automáticas.
  4. Build: compilar/empaquetar la aplicación.

Si cualquier paso falla, el pipeline se detiene y se marca el commit como roto. Así nadie integra código que no compila o que rompe las pruebas.

GitHub Actions

GitHub Actions ejecuta estos pipelines dentro del propio repositorio. Su vocabulario:

Un workflow de CI

name: CI

# Trigger: se ejecuta en cada push y en cada pull request
on:
  push:
    branches: [main]
  pull_request:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: npm
      - run: npm ci      # instalar
      - run: npm run lint # lint
      - run: npm test     # test
      - run: npm run build # build

Lee de arriba abajo: en cada push a main o en cada pull_request, GitHub arranca un runner Ubuntu, descarga el código (checkout), prepara Node y ejecuta instalar → lint → test → build. Si un run devuelve un código de salida distinto de cero, el job falla y el resto no continúa.

La CI es tu red de seguridad: convierte "se me olvidó probarlo" en una comprobación automática que no se puede saltar.

Pon esto en práctica

DevPath es un curso práctico: aquí lees la teoría; en la app la pones en práctica con ejercicios que se ejecutan de verdad, sin conexión.

Empezar gratis en la app →
← Contenedores y DockerDespliegue continuo (CD) →