Cette page présente la mise en place d'une solution d'hébergement de dépôts git.
Cette page est en cours de rédaction. Il ne pas la considérer comme une documentation valide pour le moment ! |
D'abord des prises de notes pendant l'installation... La mise en forme après !
- ajouter la source APT pour backports.org et installer debian-backports-keyring
- installer les versions backport de git-core, gitweb, git-daemon-run et gitosis :
- attention : gitosis réclame la version backports de python-setup-tools
mais un bogue dans python-setup-tools réclame qu'il soit installé en premier !
Paramétrage de python-setuptools (0.6c8-4~bpo40+1) ... pycentral: pycentral pkginstall: already exists: /usr/lib/python2.4/site-packages/setuptools.pth pycentral pkginstall: already exists: /usr/lib/python2.4/site-packages/setuptools.pth dpkg : erreur de traitement de python-setuptools (--configure) : le sous-processus post-installation script a retourné une erreur de sortie d'état 1 dpkg : des problèmes de dépendances empêchent la configuration de gitosis : gitosis dépend de python-setuptools (>= 0.6c8-4~bpo40+1) ; cependant : Le paquet python-setuptools n'est pas encore configuré. dpkg : erreur de traitement de gitosis (--configure) : problèmes de dépendances - laissé non configuré Des erreurs ont été rencontrées pendant l'exécution : python-setuptools gitosis E: Sub-process /usr/bin/dpkg returned an error code (1)
- suivre la doc dans /usr/share/doc/gitosis/README.Debian :
sudo -H -u gitosis gitosis-init < ~/.ssh/authorized_keys
- sudo adduser gitosis ssh
- configurer git-daemon pour utiliser les dépôts de gitosis :
éditer le fichier /etc/sv/git-daemon/run pour y remplacer la dernière ligne de lancement par la suivante :
exec git-daemon --verbose --user=nobody --group=gitosis --base-path=/srv/gitosis/repositories /srv/gitosis/repositories
puis relancer le service git-daemon
- ouvrir au besoin le port 9418/TCP pour ce serveur
- configurer gitweb pour utiliser les dépôts de gitosis :
éditer le fichier /etc/gitweb.conf pour y mettre au moins les lignes suivante :
$projectroot = "/srv/gitosis/repositories"; $projects_list = "/srv/gitosis/gitosis/projects.list"; $projects_list_description_width = 40; $export_ok = ""; $strict_export = "true"; @git_base_url_list = ('git://git.auf.org/');
- ajouter www-data au groupe gitosis pour avoir accès en lecture aux dépôts
- gérer les dépôts :
git clone gitosis@git.auf:gitosis-admin.git
ajouter toutes les clés publiques de tout le monde dans le dossier keydir/
éditer le fichier gitosis.conf pour y déclarer les groupes d'utilisateurs et les dépôts, par exemple comme suit :
[group quelques-zouaves] members = jean-christophe.andre thomas.noel moussa.nombre jerome.santini [group projets-experimentaux] writable = domination-mondiale formatage-cerveaux members = @quelques-zouaves [repo domination-mondiale] description = Dominer le monde des logiciels, grâce au Libre owner = la FSF ? daemon = yes gitweb = yes [repo formatage-cerveaux] description = Reformater les cerveaux correctement (pour annuler celui de MS) owner = Canonical ? daemon = yes gitweb = yes
faire un add, un commit et un push pour que tout soit mis en place