Cómo crear un pipeline CI/CD con GitHub Actions para Python y Node.js

Un pipeline CI/CD convierte la validación del código en un proceso repetible. En lugar de depender de que alguien recuerde ejecutar pruebas antes de publicar, GitHub Actions puede comprobar cada cambio y dejar un resultado visible para todo el equipo.

Índice de Contenido 💻
  1. Prepara el repositorio
  2. Workflow para Python
  3. Workflow para Node.js
  4. Secretos y permisos
  5. Artefactos y caché
  6. Checklist de calidad
  7. Fuentes oficiales

Prepara el repositorio

Define una rama principal protegida, un archivo de dependencias y un comando de pruebas que funcione localmente. Usa un archivo de bloqueo, como package-lock.json o requirements.txt, y documenta la versión de Python o Node.js requerida. Nunca guardes contraseñas en el repositorio.

Workflow para Python

name: Python CI
on: [push, pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: '3.12'
      - run: pip install -r requirements.txt
      - run: pytest -q

Después puedes añadir Ruff, mypy y un umbral mínimo de cobertura. Mantén cada paso enfocado para saber rápidamente qué parte falló.

Workflow para Node.js

name: Node CI
on: [push, pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '22'
          cache: npm
      - run: npm ci
      - run: npm run lint --if-present
      - run: npm test

npm ci instala exactamente el archivo de bloqueo y evita resultados distintos entre desarrolladores.

Secretos y permisos

Guarda tokens en los secretos del repositorio y concede al workflow solo los permisos necesarios. Para producción, separa staging y producción, usa aprobación manual y registra el commit que se desplegó. Un secreto no debe imprimirse en logs aunque el comando falle.

Artefactos y caché

Conserva informes de pruebas, cobertura y paquetes compilados como artefactos. La caché acelera instalaciones, pero no debe sustituir un archivo de bloqueo ni ocultar cambios de dependencias.

Checklist de calidad

  • Las pruebas corren en cada pull request.
  • Las dependencias son reproducibles.
  • Los secretos están fuera del código.
  • El despliegue usa un artefacto identificable.
  • Existe rollback y una comprobación de salud.

Fuentes oficiales

Si quieres conocer otros artículos parecidos a Cómo crear un pipeline CI/CD con GitHub Actions para Python y Node.js puedes visitar la categoría Blog.

También puede gustarte:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir