Gitlab — mettre en place un webhook en quelques secondes

  • Créer ou choisir un repository dans gitlab
  • Créer ou utiliser une url qui accepte la méthode POST
  • Dans projet > Settings > Intégrations >
  • Dans le champ URL: saisissons l’URL du webhook: exemple — https://monsite.com/githooks.php
  • Cochons les cases suivantes :
  • “Push events
  • “Merge request events
  • Enable SSL verification
  • Et cliquons sur “ SAVE
  • Via gitlab en http suite à un push
  • Via GET par un utilisateur qui connait l’URL
  • Via la ligne de commande qui éxecute la commande git pull

Appel de gitlab en http suite à un push

Il s’agit des lignes : L23 — L47. Le script ne fait pas grand chose de très intéressant à part :

  • Enregistrer la requete dans un dossier temporaire et dans un fichier texte.
  • Envoie un mail à mon adresse.

GET par un utilisateur qui connait l’URL

Il s’agit de la ligne L 50 . Cette ligne affiche un texte

ligne de commande qui éxecute la commande git pull

Dans un premier temps, je me connecte en SSH sur le serveur. Je crée ensuite un cron qui appelle ce script toutes les minutes en utilisant l’utilitaire php. Voici la ligne du crontab

  • Je vais dans le dossier /home/web/miaryrabs/ qui est le dossier de mon site par exemple
  • Je lance la commande git pull gitlab master car je veux mettre à jour les dossiers/fichiers de mon site à partir des fichiers que je viens de “pusher” dans mon repository.
  • Je supprime le contenu de mon dossier temporaire pour éviter les boucles infinies au prochain lancement du crontab.

--

--

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store