Crea un pipeline CI/CD completo usando GitHub Actions o GitLab CI que incluya todas las etapas desde lint hasta deploy a staging. Incluye también un docker-compose.yml para desarrollo local.
Requisitos
- Pipeline con etapas: lint, tests unitarios, build Docker multi-stage, push a registry, deploy a staging
- Dockerfile multi-stage optimizado (builder + runtime)
- docker-compose.yml para desarrollo local con hot-reload
- Secrets gestionados como variables de entorno del CI (no hardcodeados)
- Notificación de estado del pipeline (Slack, email o similar)
Ejemplos
Entrada:
Push a rama main con cambios en src/
Salida:
Pipeline ejecuta: lint (ESLint/Flake8) → tests → build imagen Docker → push a ECR/GHCR → deploy a staging con health check
Tecnologías aceptadas
- GitHub Actions
- GitLab CI
- Docker + Docker Compose
- Terraform (opcional para infra)
- Cualquier lenguaje para la app de ejemplo