Evolution #141
Réinstaller un gestionnaire de dépôts Git
100%
Description
Il faut réinstaller de quoi gérer des dépôts Git. Je propose d’utiliser Gitolite (successeur de Gitosis) sur une VM dédiée.
L’installation est relativement simple, et l’administration se fait ensuite par un dépôt Git (gitolite-admin.git), ce qui permet en plus d’avoir un historique commenté de la configuration.
Au niveau Chiliproject, l’intégration est complète : on peut visualiser le contenu du dépôt, les commits s’insèrent dans les activités, et on peut mettre en correspondance les utilisateurs et les auteurs de commits. Seules limitations : Chiliproject doit pouvoir lire localement le dépôt (il faut donc automatiser un pull des modifs), et on ne peut avoir qu’un seul dépôt par (sous-)projet.
Related issues
History
#1 Updated by Antoine Lubineau almost 13 years ago
Je viens d’installer cgit. Comme il n’y a pas de paquet Debian, je l’ai compilé, avec les sources de Git 1.7.4, en spécifiant CGIT_SCRIPT_PATH = /var/www
et prefix = /usr/local/cgit
dans le Makefile.
Pour que le serveur web ait les droits de lecture sur les dépôts, il faut ajouter www-data au groupe git
, faire un chmod -R g+rX
sur les dépôts existants, et changer $REPO_UMASK = 0077;
en $REPO_UMASK = 0027;
dans ~git/.gitolite.rc
(ce réglage ne vaut que pour les dépôts qui seront créés par la suite).
cgit récupère la liste des projets dans ~git/projects.list
. Cette liste est complétée par Gitolite pour les dépôts dont gitweb
a les droits en lecture (c’est une dénomination spécifique à gitolite, qui n’est pas incluse dans @all
). Je ne suis pas tout à fait sûr par contre que le fichier projects.list
ait les bons droit lorsqu’il est régénéré par gitolite.
La configuration de cgit
se trouve dans /etc/cgitrc
:
virtual-root=/ project-list=/home/git/projects.list scan-path=/home/git/repositories/
Pour spécifier le propriétaire et la description d’un dépôt, voir le manuel de gitolite, section « specifying gitweb and daemon access ».
#2 Updated by Antoine Lubineau almost 13 years ago
Installation terminée et documentée sur Git.