Introduzione agli hook Git

Completato

Il recapito continuo richiede un livello significativo di automazione. Non è possibile fornire continuamente se non si dispone di una codebase di qualità. È qui che git va così bene.

Consente di automatizzare la maggior parte dei controlli nella codebase. Prima di eseguire il commit del codice nel repository locale, figuriamoci nel repository remoto.

Hook di Git

Gli hook Git sono un meccanismo che consente l'esecuzione del codice prima o dopo determinati eventi del ciclo di vita Git.

Ad esempio, è possibile eseguire l'hook nell'evento commit-msg per verificare che la struttura dei messaggi di commit segua il formato consigliato.

Gli hook possono essere qualsiasi codice eseguibile, tra cui shell, PowerShell, Python o altri script. Oppure possono essere un eseguibile binario. Tutto va!

Gli unici criteri sono che gli hook devono essere archiviati nella cartella .git/hooks nella radice del repository. Inoltre, devono essere denominati in modo che corrispondano agli eventi correlati (Git 2.x):

  • applypatch-msg
  • pre-applypatch
  • post-applypatch
  • pre-commit
  • prepare-commit-msg (prepara-il-messaggio-di-commit)
  • messaggio di commit
  • Post-Commit
  • pre-rebase
  • dopo il checkout
  • post-unione
  • pre-ricezione
  • aggiornare
  • post-ricezione
  • post-aggiornamento
  • pre-auto-gc
  • post-riscrittura
  • pre-push

Casi d'uso pratici per utilizzare gli hook di Git

Poiché gli hook Git eseguono script basati su eventi specifici, è possibile eseguire un'ampia gamma di azioni con esse.

Alcuni esempi di dove è possibile usare hook per applicare criteri, garantire la coerenza e controllare l'ambiente:

  • In Applicazione delle precondizioni per l'unione
  • Verifica dell'associazione dell'ID dell'elemento di lavoro nel messaggio di commit
  • Impedire al team di & di eseguire il commit di codice difettoso
  • Invio di notifiche alla chat room del team (Teams, Slack, HipChat e così via)

Nell'unità successiva si vedrà come implementare Git Hooks.