CI mínima con Git mediante hooks

Fuentes: Minimal Git CI using hooks

El autor describe cómo montar un sistema de integración continua (CI) extremadamente ligero sobre un servidor Git personal, sin recurrir a plataformas complejas. Su servidor aloja repositorios bare creados con "git init --bare" y clonados remotamente. Tras probar varias soluciones de CI que considera farragosas, lentas o difíciles de autoalojar, opta por un enfoque basado en el hook "post-receive" de Git, un script de shell que se ejecuta automáticamente en el servidor cada vez que se hace un push. Para evitar que un script que falle rechace el código enviado o que un proceso lento retrase la subida, el script no ejecuta las tareas directamente: las encola mediante "nq", un gestor de colas minimalista, que lanza los trabajos en segundo plano. Así, el push se completa al instante y los registros se consultan con "ssh server nqtail -a". El autor remite a un tutorial detallado en su wiki para reproducir el montaje. Entre las posibles extensiones menciona aislar las compilaciones con "landdown" o "podman", gestionar secretos con "sops", y habilitar flujos de estilo bazaar (parches por correo) o catedral (con git-shell o git http-backend). La propuesta busca recuperar la filosofía Unix de herramientas pequeñas y componibles frente a las suites de CI monolíticas actuales.