Inicio > Cursos > Git y GitHub > GitHub Actions y CI/CD
Git y GitHubGitHub y ColaboraciónLección 12 de 15

GitHub Actions y CI/CD

GitHub Actions permite automatizar cualquier flujo de trabajo directamente en tu repositorio. CI/CD (Integración Continua / Entrega Continua) corre tests automáticamente en cada push, construye la app y la despliega si pasa. Esto garantiza que el código en main siempre funcione y que cada cambio llegue a producción en minutos.

Los workflows se definen en archivos YAML en .github/workflows/. Cada archivo define cuándo se dispara (on: push, pull_request), en qué entorno corre (runs-on: ubuntu-latest) y qué pasos ejecuta (steps: con comandos shell o Actions preconstruidas). GitHub ofrece 2000 minutos gratuitos al mes para repositorios públicos y privados.

# .github/workflows/ci.yml
name: CI - Tests y Linting

# Triggers: cuándo ejecutar este workflow
on:
  push:
    branches: [main, develop]
  pull_request:
    branches: [main]

jobs:
  test:
    name: Tests y Linting
    runs-on: ubuntu-latest  # Runner de GitHub

    steps:
      # Clonar el repositorio
      - name: Checkout código
        uses: actions/checkout@v4

      # Configurar Node.js
      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '20'
          cache: 'npm'

      # npm ci: instalación limpia y determinista
      - name: Instalar dependencias
        run: npm ci

      - name: Ejecutar linting
        run: npm run lint

      - name: Ejecutar tests
        run: npm test

      - name: Build de producción
        run: npm run build

      # Usar secretos del repositorio
      - name: Deploy
        env:
          API_KEY: ${{ secrets.DEPLOY_API_KEY }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: npm run deploy
Consejo⚡ Usa npm ci en lugar de npm install en CI/CD. npm ci es más rápido y determinista: instala exactamente lo que dice package-lock.json sin modificarlo.
← Pull Requests y Code ReviewIssues, Labels y Proyectos →

Practica esta lección

Resuelve los ejercicios del curso de Git y GitHub en la app, gratis y con corrección automática.

Empezar a practicar