Présentation de Gitolite

Submitted by ptitoliv (non vérifié) on ven, 12/18/2009 - 11:13

Gitolite est un projet open source permettant de gérer les droits sur les dépôts Git en utilisant un système d'ACL. Comme pour certains systèmes de gestion de versions tels que Subversion, il est possible de gérer les droits à différents niveaux de granularité tels que le dépôt complet ou bien certaines branches du dépôt.

Cependant, une des choses très intéressantes dans Gitolite est de pouvoir déléguer les droits d'administration à d'autres utilisateurs. L'administrateur principal de la base des dépôts pourra donc en déléguer certains à des utilisateurs enregistrés.

Le principe de fonctionnement de Gitolite est assez simple : Toute la gestion des ACL se fait dans un dépôt Git spécifique. Ce dépôt contient toute la configuration des ACLs ainsi que la gestion des utilisateurs.

Ainsi afin de pouvoir mettre à jour les droits, on utilisera des commandes telles que git add, git commit, git push, etc.

En ce qui concerne la localisation, un dépôt gitolite de référence sera déployé sur le serveur contenant tous les dépôts de références pour lesquels on souhaite mettre en place une gestion d'ACL.

Le principe de configuration des ACLs se fera donc de la manière suivante :

  1. récupérer le dépôt git de référence (clone / pull / fetch) ;
  2. modifier les fichiers de configuration contenus dans le dépôt Git ;
  3. enregistrer les modifications dans le dépôt Git local ;
  4. synchroniser le dépôt local avec le dépôt distant.

Vous l'aurez donc compris, Gitolite est un outil fait par des utilisateurs de Git pour des utilisateurs Git. Pour pouvoir bien l'utiliser il est nécessaire de bien maitriser les concepts de Git.

Site du Projet Gitolite : http://github.com/sitaramc/gitolite

Gitolite est censé pouvoir fonctionner sur n'importe quel système pouvant faire tourner Git, Perl et un serveur SSH. Pour cet article, gitolite a été testé et validé sur Redhat Enterprise et Debian Lenny.