logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Ceci est une ancienne révision du document !


Gérer son site web avec Git

  • Objet : Gérer son site web avec Git
  • Niveau requis :
  • Commentaires : Vous gérez un ou plusieurs sites web sur votre serveur. Vous voulez l'administrer avec git pour faciliter les mises-à-jour/patch/etc.
  • À savoir : Utilisation basique de git FIXME :-)
  • Suivi :
    • Création par captnfab 06/03/2014
    • Testé par <…> le <…> FIXME
  • Commentaires sur le forum : Lien vers le forum concernant ce tuto 1) FIXME

Nota :

Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !

Introduction

Vous gérez vos projets ou vos documents avec git, et vous vous demandez comment faire pour gérer vos sites web de même?

Une des fonctionnalités de Git que nous allons fortement utiliser est celle de «branches». Nous allons mettre en place un système de hooks2), pour faciliter l'intégration de notre flot de travail.

Nous allons considérer le schéma suivant, assez classique :

  • Une machine « serveur »
    • sur laquelle est installé un serveur ssh permettant à l'utilisateur toto de se connecter
    • sur laquelle est installé un serveur web publiant les données présentent dans /srv/monsiteweb/www (dossier inscriptible par toto)
    • ainsi que les données présentent dans /srv/monsiteweb/www-dev (dossier inscriptible par toto)
  • Une machine « client »
    • sur laquelle toto développe son site web.

Installation

Installer git sur le serveur et le client :

apt-get install git

Mise en place

Initialisation du dépôt

Création d'un dépôt nu sur le serveur

Sur le serveur :

mkdir -p /srv/monsiteweb/www.git
mkdir www.git
git init --bare www.git

Configuration des hooks sur le serveur

Sur le serveur :

vim /srv/monsiteweb/www.git/hooks/post-update

Le fichier doit contenir le code suivant :

/srv/monsiteweb/www.git/hooks/post-update
#!/bin/sh
for i in $*
do
  b=$(basename $i)
  if [ "$b" = "prod" ]
  then
    # Remplacer le chemin par celui utilisé par le serveur web pour
    # la version en production
    GIT_WORK_TREE=/srv/monsiteweb/www/ git checkout -f $b
  fi
  if [ "$b" = "dev" ]
  then
    # Remplacer le chemin par celui utilisé par le serveur web pour
    # la version en développement
    GIT_WORK_TREE=/srv/monsiteweb/www-dev/ git checkout -f $b
  fi
done

Le rendre exécutable :

chmod +x /srv/monsiteweb/www.git/hooks/post-update

Clonage du dépôt sur le client

Sur le client :

mkdir -p ~/projets/mon-site/
cd ~/projets/mon-site/
git clone serveur:/srv/monsiteweb/www.git

Création des branches

En cours

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
2)
crochets: scripts exécutés automatiquement lors de certaines opérations effectuées sur un dépôt git
doc/systeme/git/tp-gerer-son-site-web.1394121727.txt.gz · Dernière modification: 06/03/2014 17:02 par captnfab

Pied de page des forums

Propulsé par FluxBB