DevOps
8 de febrero de 202610 min de lecturaConfigurando CI/CD con Docker y GitHub Actions: Guía 2026
Aprende a construir un pipeline CI/CD completo usando Docker y GitHub Actions. Desde builds multi-etapa hasta despliegues automatizados, esta guía cubre todo lo necesario para flujos de trabajo listos para producción.
Por TechLead
Docker
CI/CD
GitHub Actions
DevOps
Despliegue
Un pipeline CI/CD bien diseñado es la columna vertebral de la entrega moderna de software. Al combinar Docker para entornos consistentes con GitHub Actions para automatización, puedes construir, probar y desplegar con confianza.
1. ¿Por Qué Docker + GitHub Actions?
- Reproducibilidad: Docker asegura que tu app se construya y ejecute de la misma manera en todas partes — tu laptop, servidor CI y producción.
- Velocidad: Los builds multi-etapa y el caché de capas reducen drásticamente los tiempos de construcción.
- Tier gratuito: GitHub Actions ofrece 2,000 minutos/mes gratis en repos públicos.
2. Escribiendo un Dockerfile de Producción
Usa builds multi-etapa para mantener tu imagen final ligera. Este patrón típicamente reduce el tamaño de la imagen en un 60-80%.
3. Workflow de GitHub Actions
Crea .github/workflows/deploy.yml con jobs para build, test y deploy.
4. Optimizaciones Clave
- Caché de capas: Docker solo construye capas modificadas. Ordena tu Dockerfile de menos a más frecuentemente cambiado.
- BuildKit: Habilita BuildKit por defecto, dándote builds paralelos y mejor caché.
- .dockerignore: Excluye
node_modules,.git, y archivos de test para acelerar el contexto de build.
5. Health Checks y Monitoreo
Agrega un health check a tu Dockerfile para que los orquestadores sepan cuándo tu app está lista.
6. Mejores Prácticas de Seguridad
- Nunca almacenes secretos en imágenes Docker. Usa GitHub Actions secrets e inyéctalos en tiempo de ejecución.
- Ejecuta contenedores como usuario no-root:
USER node - Escanea imágenes por vulnerabilidades:
docker scout cves myapp:latest - Fija versiones de imágenes base en lugar de usar
:latest