Volver al curso

DevOps Moderno: CI/CD, Docker y Kubernetes

leccion
4 / 12
advanced
30 horas
CI/CD: Pipelines de Integracion y Despliegue Continuo

GitHub Actions: Pipelines CI/CD Completos

Lectura
50 min~2 min lectura

GitHub Actions: CI/CD Integrado en tu Repositorio

GitHub Actions es la plataforma de CI/CD mas popular en 2025, especialmente en el ecosistema open source y startups de LATAM. Permite automatizar builds, tests, deploys y cualquier workflow directamente desde tu repositorio.

# .github/workflows/ci-cd.yml
name: CI/CD Pipeline
on:
  push:
    branches: [main, develop]
  pull_request:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    services:
      postgres:
        image: postgres:16
        env:
          POSTGRES_DB: test_db
          POSTGRES_USER: test
          POSTGRES_PASSWORD: test
        ports: ['5432:5432']
        options: >-
          --health-cmd pg_isready
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: 'npm'
      - run: npm ci
      - run: npm run lint
      - run: npm run test -- --coverage
      - run: npm run build
      - uses: actions/upload-artifact@v4
        with:
          name: coverage
          path: coverage/

  deploy:
    needs: test
    if: github.ref == 'refs/heads/main'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Deploy to production
        run: |
          echo 'Deploying to production...'
          # ssh, rsync, or cloud CLI deploy
ConceptoDescripcion
WorkflowArchivo YAML que define el pipeline completo
JobConjunto de steps que corren en la misma maquina
StepAccion individual (checkout, build, test, deploy)
ActionPaquete reutilizable de steps (ej: actions/checkout)
SecretVariable encriptada para credenciales
MatrixEjecutar el mismo job con diferentes configuraciones

🚀 Dato Clave

GitHub Actions ofrece 2,000 minutos gratis/mes para repositorios privados. Para startups LATAM, esto es mas que suficiente para empezar. Los runners de Linux son los mas baratos (1x multiplicador).

En la siguiente leccion veremos estrategias avanzadas de deployment.