Pipelines de CI/CD
ABA-backend y ABA-frontend se despliegan de forma independiente vía GitHub Actions al
hacer push a main — no hay un paso de despliegue manual en ningún caso.
CI: lo que se valida antes de construir nada
- Escaneo de secretos (
gitleaks) sobre el diff — un commit que incluya una credencial real no pasa CI, independientemente de si el resto del código compila. - Build del proyecto en modo Release — el mismo comando que un desarrollador corre localmente, no un paso distinto solo para CI.
El pipeline de CD solo se dispara después de que CI pasó sobre main — nunca se construye ni
publica una imagen a partir de un commit que no pasó validación.
Protección de la rama main
- Requiere al menos una aprobación en pull request — nada se mergea sin revisión.
- Los checks de CI (secret scan + build) son obligatorios antes de poder mergear.
- Force-push y borrado de la rama están deshabilitados.
- Los archivos que afectan recursos compartidos del VPS (configuración de límites de memoria, Nginx, hardening de red) requieren revisión de code owners específicos — nadie cambia un parámetro que afecta a toda la infraestructura sin que otra persona lo revise primero.
Hook de pre-commit contra secretos
Además del escaneo en CI (que corre en GitHub, después del push), cada repo trae un hook de pre-commit versionado que corre localmente, antes de que el commit siquiera se genere — detecta patrones de credenciales antes de que lleguen a formar parte del historial de git. Se activa una sola vez por clon del repositorio.
Cada imagen se construye una sola vez
La imagen Docker se construye en GitHub Actions, nunca en el VPS — el servidor de producción solo
hace pull de una imagen ya construida y probada, nunca ejecuta un build. Esto mantiene al VPS
libre de herramientas de compilación y reduce la superficie de lo que corre ahí a exactamente lo
que se necesita para servir tráfico.