Blog

CI/CD con GitHub Actions: testing automático y despliegue sin intervención

Cómo automatizar testing, linting y despliegue con GitHub Actions para cada push.

#ci-cd#github-actions#devops#automatizacion#deploy

CI/CD automatiza lo que debería ser automático: testing, linting, construcción y despliegue. GitHub Actions lo hace accesible sin orquestación compleja.

El workflow básico: test en cada pull request

Cada vez que abres un PR, GitHub Actions ejecuta tests, linting y build. Si algo falla, lo ves antes de mergear. Eso previene bugs en main.

El setup es simple: un archivo .github/workflows/test.yml que define qué ejecutar.

  • Instala dependencias.
  • Ejecuta linting (Biome, ESLint, etc).
  • Ejecuta tests (Jest, Vitest, etc).

Despliegue automático con CD

Una vez que code está en main y pasa CI, puede desplegarse automáticamente. Eso reduce tiempo de publicación a minutos y elimina pasos manuales propensos a errores.

El reto es asegurar que solo código seguro llega a producción. Para eso, CI debe ser estricto: coverage mínimo, tests pasando, linting limpios.

  1. Define workflow en .github/workflows/deploy.yml
  2. Se ejecuta automáticamente en push a main.
  3. Despliega a hosting (Vercel, Fly.io, etc).

Secretos y variables de entorno

Credenciales nunca van hardcodeadas. GitHub permite guardar secretos de forma encriptada que los workflows usan. Las variables públicas pueden ser simples variables de entorno.

En el workflow, accedes a secretos con ${{ secrets.NOMBRE }}.

  • Database URL, API keys: en secrets.
  • Versiones de dependencias: en variables.
  • Credenciales de despliegue: en secrets.

Matriz de tests: ejecuta en múltiples ambientes

Puedes ejecutar tests en Node 18, 19 y 20 simultáneamente. O en Windows, Mac y Linux. GitHub Actions hace eso en paralelo, lo que permite detectar incompatibilidades rápido.

Una matriz de tests que falla en un ambiente pero pasa en otro revela bugs antes de que usuarios los vean.

Un buen CI es como un filtro: deja pasar solo cambios que se comportan igual en todos lados.

Auditoría y seguridad

Mantén workflows simples y auditables. Evita ejecutar comandos arbitrarios desde PRs externas (revisa submits cuidadosamente). Rotea secretos regularmente.

GitHub Actions te permite ver exactamente qué ejecutó cada workflow, así que auditabilidad está construida.

04 / Contacto

¿Hablamos de tu próximo sistema?

Cuéntame el problema que quieres resolver. Respondo en un día laborable y planteo una ruta de acción en el primer mensaje.

Iniciar conversación →