Skip to main content

Utilisation de crochets de pré-réception

Appliquez des stratégies de référentiel et empêchez les problèmes tels que les secrets ou les validations non valides à l’aide de crochets de pré-réception sur GitHub Enterprise Server.

Les hooks de pré-réception sont des scripts qui s’exécutent sur GitHub Enterprise Server avant que Git n’accepte les commits envoyés. Ils appliquent la stratégie de dépôt, d’organisation ou d’entreprise au moment où le code entre dans un référentiel.

Un hook de pré-réception peut vérifier si un push suit les règles requises. Par exemple, un hook peut bloquer les envois (push) qui incluent des secrets, utiliser des messages de validation non standard ou modifier des fichiers protégés. Si le push passe les vérifications, Git l’accepte. Si le push échoue, Git le rejette et affiche un message d’erreur.

Si votre envoi push n’est pas accepté, un message d’erreur s’affiche pour le hook de pré-réception ayant échoué.

$ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 916 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: always_reject.sh: failed with exit status 1
remote: error: rejecting all pushes
To https://54.204.174.51/hodor/nope.git
 ! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://54.204.174.51/hodor/nope.git'

Les hooks pre-receive sont essentiels, car ils appliquent systématiquement des règles avant que les modifications n’atteignent le dépôt. Cela peut réduire la charge de révision manuelle et empêcher les violations de stratégie d’être stockées dans l’historique Git.

Votre GitHub Enterprise Server administrateur de site crée et supprime des hooks de pré-réception. Ils peuvent également autoriser les administrateurs d’organisation ou de référentiel à activer ou désactiver des hooks pour des étendues spécifiques. Consultez « Application d’une stratégie avec des hooks de pré-réception ».