Category Archives: DevOps

All about Development Operations.

Agregar a un repositorio git los hooks serverside de git

Cuando trabajamos con los hooks serverside de git en un entorno de integración continua o entorno de entrega continua (CI/CD) es más que recomendable monitorizar los hooks, ya que haremos cambios constantemente durante la evolución del sistema y cualquier modificación inoportuna puede dar al traste con todo el despliegue con los costes derivados.

PROBLEMA: El directorio .git/hooks no forma parte del repositorio, por lo que no se monitoriza, sin embargo, contiene los procedimientos de despliegue, ¿Cómo monitorizarlos?

Una estrategia para monitorizar los hooks sería mover el directorio hooks al directorio base del repositorio y crear un symlink:

Quedando los hooks expuestos al repositorio y por lo tanto monitorizados.

No obstante, cabe tener en cuenta que al exponer los hooks al repositorio de proyecto abrimos la posibilidad de que cualquiera con acceso al mismo pueda alterar los procedimientos de despliegue y esto puede no ser lo más recomendable en algunos escenarios. Para solucionarlo lo más recomendable es mantener el directorio fuera del repositorio. En un nivel superior, por ejemplo:

repo

Es una estructura que me ha funcionado muy bien para despliegue de aplicaciones web en entorno linux en los que ha sido necesario granular el acceso al respositorio.