0Pricing
DevOps Bootcamp · Leçon

Hooks avant validation et après fusion

Mettez en œuvre des exemples pratiques de hooks avant validation pour l’analyse du code et de hooks après fusion pour les notifications.

Hooks avant validation et après fusion est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.

Introduction pratique aux crochets Git

Dans la leçon précédente, nous avons découvert les crochets Git et leurs différents types. Maintenant, passons à la pratique !

Nous allons mettre en œuvre deux crochets puissants : pre-commit et post-merge. Ils vous permettent d’automatiser des vérifications avant une validation et des actions après une fusion.

Pre-commit : votre filtre de qualité

Le crochet pre-commit s’exécute avant une opération de validation, mais après que vous avez utilisé git add pour préparer vos modifications.

  • Il est idéal pour faire respecter la qualité et le style du code.
  • Vous pouvez l’utiliser pour exécuter des analyseurs statiques, des vérificateurs de style ou même des tests unitaires élémentaires.
  • Si le script se termine avec un état différent de zéro, la validation est automatiquement annulée.

Ainsi, seul du code de qualité et conforme est ajouté à votre dépôt.

Configurer le crochet pre-commit

Pour créer un crochet pre-commit, vous devez créer un fichier exécutable nommé pre-commit dans le répertoire .git/hooks/ de votre projet.

Git fournit des exemples de crochets avec l’extension .sample. Vous devez supprimer cette extension et ajouter votre script personnalisé.

N’oubliez pas de rendre le fichier exécutable avec : chmod +x .git/hooks/pre-commit

Exemple : empêcher les validations contenant « TODO »

Créons un crochet pre-commit simple qui vous empêche de valider des fichiers contenant encore le mot « TODO ». Il s’agit d’une pratique courante pour éviter que des tâches inachevées ne se retrouvent dans votre base de code.

Le script vérifiera tous les fichiers préparés à l’envoi à la recherche de ce mot-clé. S’il le trouve, il interrompra la validation.

Crochet pre-commit : aucun TODO !

Voici un script d’interpréteur de commandes simple pour votre fichier .git/hooks/pre-commit. Il vérifie la présence du mot « TODO » dans les fichiers .txt préparés à l’envoi.

Étapes :

  1. Créer .git/hooks/pre-commit
  2. Coller ce code
  3. Exécuter chmod +x .git/hooks/pre-commit
#!/bin/sh

# Check staged .txt files for "TODO"
for file in $(git diff --cached --name-only --diff-filter=ACM | grep '\.txt$'); do
  if grep -q "TODO" "$file"; then
    echo "ERROR: Found 'TODO' in staged file: $file"
    echo "Please remove TODOs before committing."
    exit 1
  fi
done

exit 0

Tester votre crochet pre-commit

Pour tester ce crochet, commencez par créer un fichier (par exemple test.txt) et ajoutez-y « TODO: Finish this ». Essayez ensuite de le valider :

git add test.txt
git commit -m "Add test file"

La validation devrait être annulée et vous verrez le message d’erreur de votre crochet. Supprimez « TODO » de test.txt et la validation réussira !

Post-merge : automatiser les actions après les fusions

Le crochet post-merge s’exécute automatiquement après la réussite d’une commande git merge.

  • Il est utile pour les tâches d’intégration qui doivent avoir lieu après la combinaison du code.
  • Par exemple, il peut notifier les membres de l’équipe, mettre à jour les dépendances du projet (par exemple avec npm install) ou exécuter un script de compilation.
  • Contrairement à pre-commit, ce crochet n’a aucune incidence sur le résultat de la fusion.

C’est un excellent moyen d’automatiser les processus suivant une fusion.

Configurer le crochet post-merge

Comme pour pre-commit, vous créez un fichier nommé post-merge dans votre répertoire .git/hooks/.

Veillez là encore à ce qu’il s’agisse d’un fichier exécutable :

chmod +x .git/hooks/post-merge

Ce script s’exécutera alors chaque fois qu’une fusion se terminera dans votre dépôt.

Exemple : alerte de fin de fusion

Créons un crochet post-merge qui affiche simplement un message dans la console pour confirmer qu’une fusion vient d’avoir lieu. Dans un cas réel, il pourrait déclencher une chaîne d’intégration et de déploiement continus ou envoyer une notification à une application de discussion.

Crochet post-merge : notification

Voici un script d’interpréteur de commandes simple pour votre fichier .git/hooks/post-merge. Il affiche un message de confirmation.

Étapes :

  1. Créer .git/hooks/post-merge
  2. Coller ce code
  3. Exécuter chmod +x .git/hooks/post-merge
#!/bin/sh

# This hook runs after a merge operation.
echo "--- Post-merge hook triggered ---"
echo "A merge has just completed in your repository."
echo "You might want to run 'npm install' or 'bundle install' now."
echo "---------------------------------"

exit 0

Vérification des crochets : pre-commit ou post-merge

Laquelle des tâches suivantes serait généralement prise en charge par un crochet pre-commit ?

Récapitulatif : les crochets en action

Excellent travail ! Dans cette leçon, vous avez appris à mettre en œuvre des crochets Git pratiques.

  • Les crochets pre-commit servent de filtre de qualité et exécutent des vérifications comme l’analyse statique ou les tests avant une validation.
  • Les crochets post-merge automatisent des actions après une fusion, comme les notifications ou la mise à jour des dépendances.

Ces crochets sont des outils puissants pour faire respecter des normes et automatiser les flux de travail dans votre dépôt Git. Continuez à explorer les autres types de crochets pour personnaliser davantage votre utilisation de Git !

Questions Fréquemment Posées

La leçon « Hooks avant validation et après fusion » est-elle gratuite ?

Oui — le texte complet de « Hooks avant validation et après fusion » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Hooks avant validation et après fusion » ?

Mettez en œuvre des exemples pratiques de hooks avant validation pour l’analyse du code et de hooks après fusion pour les notifications. Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?

Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Hooks avant validation et après fusion » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?

Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Comprendre les hooks Git
  2. Hooks avant validation et après fusion
  3. Personnaliser la configuration de Git
  4. Partager des crochets avec Husky
← Retour à DevOps Bootcamp