11 juin 2009

Matthieu Thouvenin

Un petit billet au jour et à l'heure de la naissance de notre fils.
Le bébé et sa maman se portent bien.

Pour les photos, suivez ce lien...

03 juin 2009

Dépôt Git privé et personnel sur serveur mutualisé OVH

L'architecture et la philosophie de Git n'imposent pas l'usage d'un serveur central. Malgré cela, pour un développeur, il est pratique et confortable d'avoir un dépôt de référence donc d'avoir un dépôt central.
Si l'on travaille sur un projet public seul ou à plusieurs, des plateformes comme github ou gitorious sont parfaitement adaptées. Si par contre, on souhaite utiliser git pour un usage personnel et strictement privé, ces plateformes le sont beaucoup moins (options payantes pour github notamment). D'autant plus que si on loue déjà un serveur autant essayer de le réutiliser.

L'offre de serveur mutualisé chez OVH propose à partir de la gamme 90 Plan un accès ssh. On a donc un accès en ligne de commande dans son espace et on peut utiliser les outils installés sur le système.

Depuis quelques temps (ça n'a pas toujours été le cas), on peut utiliser la commande git. Il devient donc possible de transformer son compte en serveur de dépôt git privé. Démonstration :

Création d'un projet GIT


% mkdir ~/mon_projet
% cd ~/mon_projet 
% touch .gitignore
% git init
% git add .
% git commit -an

Création du dépôt de référence


% cd ~/mon_projet 
% git clone --bare . ~/mon_projet.git
% cd ~/mon_projet.git
% git --bare update-server-info
% cd hooks/
% mv post-update.sample post-update
% chmod a+x post-update

Un dépôt de référence et plus précisément un dépôt nu a par convention l'extension git. Dans notre exemple : mon_projet.git

Copie sur le serveur


% scp -r ~/mon_projet.git moi@ovh:~/
% rm -Rf ~/mon_projet*

Utilisation du dépôt de référence


% git clone ssh://moi@ovh/~/mon_projet.git
% touch readme
% git add readme
% git commit -an
% git push