Inleiding tot Git-hooks

Voltooid

Continue levering vereist een aanzienlijk automatiseringsniveau. U kunt niet continu leveren als u geen kwaliteitscodebasis hebt. Het is waar git zo goed gaat.

Hiermee kunt u de meeste controles in uw codebasis automatiseren. Voordat u de code doorvoert in uw lokale opslagplaats, laat staan de externe.

Git-hooks

Git-hooks zijn een mechanisme waarmee code kan worden uitgevoerd vóór of na bepaalde gebeurtenissen van de Git-levenscyclus.

U kunt bijvoorbeeld koppelen aan de commit-msg-gebeurtenis om te controleren of de structuur van het doorvoerbericht de aanbevolen indeling volgt.

De hooks kunnen elke uitvoerbare code zijn, waaronder shell, PowerShell, Python of andere scripts. Of ze kunnen een binair uitvoerbaar bestand zijn. Alles gaat!

De enige criteria zijn dat hooks moeten worden opgeslagen in de map .git/hooks in de hoofdmap van de opslagplaats. Ze moeten ook een naam hebben die overeenkomt met de gerelateerde gebeurtenissen (Git 2.x):

  • applypatch-msg
  • pre-applypatch
  • post-applypatch
  • vooraf doorvoeren
  • prepare-commit-msg
  • commit-msg
  • na doorvoeren
  • pre-rebase
  • post-checkout
  • na samenvoegen
  • vooraf ontvangen
  • update
  • na ontvangst
  • post-update
  • pre-auto-gc
  • na herschrijven
  • pre-push

Praktische gebruiksvoorbeelden voor het gebruik van Git-hooks

Omdat Git-hooks de scripts uitvoeren op het specifieke gebeurtenistype waarop ze worden aangeroepen, kunt u veel doen met Git-hooks.

Enkele voorbeelden van waar u hooks kunt gebruiken om beleid af te dwingen, consistentie te garanderen en uw omgeving te beheren:

  • Bij het afdwingen van voorwaarden voor samenvoegen
  • Koppeling werkitem-id controleren in uw doorvoerbericht
  • Voorkomen dat u en uw team foutieve code doorvoeren
  • Meldingen verzenden naar de chatruimte van uw team (Teams, Slack, HipChat, enzovoort)

In de volgende les ziet u hoe u Git Hooks implementeert.