https://gist.github.com/mickaelandrieu/8b611cd3003e2e4b5b05
Pour intégrer basiquement ce script dans votre projet, il vous faut, sur votre serveur VPS/dedié :
-
Télécharger ce script dans un dossier accessible depuis le web (par exemple sur mon serveur mon dossier "web" est dans
/var/www/html) -
Cloner le dépôt de votre projet annuel sur le serveur (dans un dossier web du coup)
-
Remplacer dans son script la valeur de retour de
getProjectPath()par le chemin vers le dépot (le dossier ou il y à le.git) de votre projet, pour moi ça donne par exemple :
function getProjectPath()
{
return '/var/www/techfinder';
}- Sur GitLab, cliquez sur votre dépot, dans la barre à gauche cliquez sur settings puis sur "Web Hooks". Sur cette page, vous mettez dans URL le chemin vers le script du prof (par exemple chez moi https://tech-finder.fr/stupid_deployement_script.pjp)
Ce script devrait être adapté pour GitHub : https://gist.github.com/xorus/5c2d5f885e3a8d946f36
Si votre projet est sur GitHub, allez sur la page de votre dépot, cliquez sur l'onglet Settings (là ou il y à code, issues, pull request, etc...), sur cette page, RDV sur "Webhooks & services" puis cliquez sur le bouton "add webhook". Sur cette page vous remplissez l'URL, Content Type: application/json, laissez Secret vide et cochez la case "just the push event".
Et voilà!
Si la commande git pull lancée par php ne fonctionne pas (c'était mon cas), vous pouvez aller voir cet article :
http://jondavidjohn.com/git-pull-from-a-php-script-not-so-simple/
Perso, j'ai suivi les quelques conseils de cet article (mon utilisateur web était www-data et pas www comme dans l'article) et écrit un autre script de déploiement