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.
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.
Deja una respuesta

También puede gustarte: