Git hooks

Utilisation des hooks git pour faciliter le développement d'applications

26/08/2021

Git
Hooks
Automatisation
Bash
article illustration

Les git hooks permettent un contrôle des données échangées avec un serveur git. Ils sont très utiles pour parer les tâches répétitives

Les git hooks sont des scripts déclenchés tout du long du cycle de vie de git. Ils permettent un contrôle des données, avant, pendant et après un envoi, une modification, un changement.

Les hooks sont créés par défaut dans les répertoires git sous le nom '<type du hook>.sample', ceux-ci en étant renommés sans '.sample' permettent une utilisation en direct de ces mécanismes.

La plupart de ces hooks sont disponibles sous l'appellation [pre][nom de l'action], ainsi, pre-push permettra avant l'envois sur un serveur git de vérifier différentes conditions, celles-ci pouvant bloquer le transfert dans le cas où il n'y a pas toutes les conditions requises pour effectuer la transaction.

Les hooks sont disponibles côté client et côté serveur, ceux qui sont client-side ne sont pas partagés, il est donc important d'établir une autre stratégie afin de passer les hooks, un script de copie par exemple, à lancer impérativement avant l'utilisation de git. Les scripts server-side eux sont à renseigner directement sur la plateforme utilisée (ex : Gitlab).

Cas d'utilisation :

L'utilisation type d'un hook serait au pre-push, s'il faut maintenir un numéro de version grandissant, une vérification bloquante du numéro de version afin de s'assurer la mise à jour du numéro de version (à l'aide de git diff et grep par exemple)

A retenir

Les hooks servent à vérifier des données durant le cycle de vie d'un projet via git.

Les hooks client-side ne sont pas tranférés via les processus classiques, il faut que chaque utilisateur en fasse une copie

Les hooks peuvent servir de tests passants comme de véritables freins dans le cas d'une vérification importante