Outils pour utilisateurs

Outils du site


Panneau latéral

gitmanagewebsite

MANAGER UN SITE WEB VIA GIT

Objectif

J'ai un beau site web sur un serveur, et je souhaite l'éditer sur mon ordi de dev, et pouvoir facilement déployer mes modifs pour mettre à jour le site web.
Si possible, je veux avoir une journalisation (versioning) des modifs, avec des branches de dev qui ne changent pas le site web (pour avoir le temps de tester)

Problématique

git est un super cvs, mais les fichiers ne sont pas facilement accessibles pour etre servis directement par un serveur web, en d'autres mots : “mon dossier gitRepos/monSite contient juste un .git, comment apache peut servir ça ?”

Solution

Source : http://joemaller.com/990/a-web-focused-git-workflow/

Tout d'abord, il faut créer un dépot dans le dossier qui sera servi par le serveur web :

cd /path-to-web-folder/
git init
git add .
git commit -m"initial commit"

ensuite créer un dépot “hub”, ailleurs

cd /path-to-hub/
git init --bare

et lier les 2 :

cd /path-to-web-folder/
git remote add hub /path-to-hub/
git remote show hub                 # pour vérifier
git push hub master                 # si y'a rien dans le hub, on peut pas le cloner sur la machine dev

Ensuite, il faut gérer le hook post-update, pour automatiser la mise à jour du repo servi par le serveur web quand on met à jour la branche master du hub

cd /path-to-hub/hooks
# editer le fichier post-update pour mettre :
#!/bin/sh
 
echo
echo "**** Pulling changes into Prime [Hub's post-update hook]"
echo
 
cd /path-to-web-folder/ || exit
unset GIT_DIR
git pull hub master
 
exec git-update-server-info

voilà, c'est bon

gitmanagewebsite.txt · Dernière modification: 2018/10/13 20:32 (modification externe)