Carnet Wiki

Utiliser git pour pusher les mises à jour vers un site en production

Version 3 — 3 months ago — 78.123.xx.xx

Principe:

Créer un dépôt git bare sur le serveur de production avec un hook post commit qui publie ce qu’il reçoit dans le répertoire de prod :

Sur le serveur cible :

Créer le repo git bare:

mkdir monsite.git
cd monsite.git
git init --bare 

Ajouter un hook post receive :

  1. nano hooks/post-receive
#!/bin/bash
git --work-tree=/var/www/mon_site --git-dir=/var/repo/monsite.git checkout -f

Passer le fichier en exécutable:

  1. chmod +x hooks/post-receive

En local

Ajouter le dépot distant “prod” :

  1. git remote add prod ssh://user@monserveur.fr/home/user/monsite.git

Pour publier sur la production :

  1. git push prod master

Voir aussi : https://blog.alwaysdata.com/fr/2018/02/05/deployer-sans-peine-avec-git-hooks com / fr / 2018 / 02 / 05 / deployer-sans-peine-avec-git-hooks /
qui détaille la procédure avec notamment un script post commit un peu plus évolué ( vérification de la branche poussée par exemple )