Sélectionner une page

Octopuce hébergeant de nombreuses agences web, leurs clients et les projets de développement de tout ce petit monde, il nous est souvent demandé d’installer des systèmes de contrôle de version.

Nous utilisions jusque-là subversion (SVN) mais certains de nos clients utilisent maintenant GIT, le nouveau système de gestion de source distribué, visiblement plus léger et rapide que SVN.

Nous avons donc dû nous poser la question de l’hébergement de ces dépôts GIT. Rapidement, nous sommes tombés sur le logiciel Gitosis, qui permet de gérer facilement ses dépôts GIT avec un accès SSH, mais sans nécessité de disposer d’un accès shell au serveur !

Voici donc comment utiliser Gitosis sous Debian pour créer des dépôts :

Gitosis, mode d’emploi

Gitosis est facile à utiliser notamment par le fait qu’un package pour Debian existe, qui nous pose les 3 questions nécessaires au bon fonctionnement de Gitosis : le nom du compte de Gitosis (je conseille « git », court et explicite), le chemin dans lequel on stockera les sources (je conseille /home/git) et la première clé qui sera autorisée à utiliser le dépôt principal. Donc pour l’installer, il faut lancer sur le serveur de sources :

Un dépôt « principal », nommé « gitosis-admin.git », permet d’administrer les droits d’accès aux dépôts sur le serveur. En effet, c’est via un dépôt GIT que Gitosis gère la liste des clés autorisées et la liste des autorisations d’accès en lecture ou en écriture aux dépôts.

Une fois Gitosis installé (avec votre clé SSH personnelle) utilisez la commande suivante pour obtenir une copie locale du dépôt gitosis-admin :

Vous obtiendrez un dossier gitosis-admin/ contenant un fichier gitosis.conf (dans lequel on définit les droits d’accès aux dépôts pour chaque liste d’utilisateur) et un dossier keydir/ dans lequel on créera un fichier au nom d’un utilisateur contenant la clé SSH publique de cet utilisateur.

Une fois cela fait, on envoie ces nouveaux fichiers sur le serveur Gitosis via

Par exemple, j’ai créé un groupe « octopuce » dans mon gitosis.conf, dans lequel les utilisateurs (listés dans la directive « members ») ont droit d’accès en écriture (via la directive « writable ») à des dépôts particuliers :

Ainsi, dans keydir, j’aurai créé les fichiers « benjamin » et « said » contenant les clés de Saïd et Benjamin.

Une fois cela fait, on peut créer le dépôt, par exemple pour le projet1. Pour créer le dépôt, sur votre ordinateur, créez vos premiers fichiers source, et tapez :

Et voilà, votre premier dépôt a été créé sur git.

Dans l’article suivant, nous verrons comment utiliser les hooks de git pour mettre à jour automatiquement un site de développement.