The 2007-12-12 at 19:12 by Loïc d'Anterroches filed under Articles.
Un petit howto pour expliquer une manière, parmis de nombreuses, d’utiliser git pour gérer le déploiement d’une application PHP.
Dans ce petit tutoriel, je vais d’abord présenter comment mettre en place le système, puis comment l’utiliser en suite chaque jour. Si vous ne connaissez pas git, c’est le moment d’apprendre.
On considère que sur votre système, master sera la branche prête à être déployée. Lancez alors cela :
$ git clone --bare ./projet projet.git $ rsync -a --stats --delete ./projet.git/ votre.serveur:~/projets/projet.git/
Note que pour que la commande rsync fonctionne, le répertoire ~/projects/projet.git/ doit être déjà créé.
Maintenant, vous avez un dépôt git sur votre serveur. Il est sous votre propre identifiant.
Votre code va être utilisé mais pas sous votre identifiant, plutôt sous l’identifiant www-data. Donc, ce qu’on va faire, c’est qu’on va faire un clone du dépôt git qui est sur votre serveur en utilisant l’utilisateur www-data.
$ sudo su www-data $ cd ~ $ git clone /home/votrelogin/projets/projet.git projet
Maintenant, projet est un clone du clone de votre dépôt git de votre machine de travail, le tout avec un checkout de la branche master qui observe votre propre branche master.
Quand on fait des changements localement, il faut les répercuter sur la version de www-data.
Localement cela donne:
$ git branch nouveau-truc $ git checkout nouveau-truc $ (code code code) $ git commit $ git checkout master $ git merge nouveau-truc $ git branch -d nouveau-truc $ git push ssh://serveur.distant/home/votrelogin/projets/projet.git master
Ajoutez :
[remote "serveur-distant"]
url = ssh://serveur.distant/home/votrelogin/projets/projet.git
à la fin de votre .git/config et vous pourrez directement faire :
$ git push serveur-distant master
Sur le serveur distant :
$ sudo su www-data $ cd ~ $ cd projet $ git pull
Les changements sont maintenant en ligne.
Comments from readers