In diesem Artikel beschreibe ich die Installation und Konfiguration von Git und gitolite auf einem Debian-Server (genauer gesagt Debian Wheezy). Die Installation wird per Konsole durchgeführt. Grundlegende Kenntnisse von Git bzw. dem Umgang mit der Konsole werden vorausgesetzt.
Konfiguration
1. Einloggen auf dem Server z.B. per SSH
|
|
2. Installieren der Pakete git-core und gitolite
|
|
3. Erstellen des Git Benutzers
|
|
4. Als Git Benutzer einloggen
|
|
5. RSA Key erstellen
|
|
6. Gitolite konfigurieren
Gitolite benötigt zum initialen Setup den Public Key des Git-Admins. Ich gehe nachfolgend davon aus, dass dieser
bereits unter /tmp/gitadmin.pub
abgelegt wurde. Der Key kann nach der Installation wieder gelöscht werden.
|
|
Das Setup öffnet eine Konfigurationsdatei, diese kann ohne weitere Änderungen gespeichert werden.
7. Repositories einrichten
Von dem Rechner aus, von dem der gitadmin.pub
Key stammt, können nun Repositories eingerichtet werden. Dafür wird ein
spezielles Admin-Repository verwendet.
|
|
Im Verzeichnis gitolite-admin
gibt es zwei Ordner. Im Verzeichnis keydir
werden die Public Keys der Benutzer
abgelegt, die Zugriff auf Git-Repositories haben sollen. Im Verzeichnis conf
befindet sich die Konfigurationsdatei
gitolite.conf
. Diese enthält alle Repositories und Zugriffsberechtigungen. Die Basiskonfiguration sieht
folgendermaßen aus:
|
|
REPOSITORY_NAME
beinhaltet den Namen des Repositories, USER_NAME
muss exakt dem Namen einer Public-Key-Datei ohne
Dateiendung entsprechen. Per git commit
und git push
werden die Änderungen gespeichert und auf den Server übertragen.
Gitolite legt nun automatisch die Repositories an, die in der Konfigurationsdatei genannt werden.
8. Repositories verwenden
Benutzer, die Lese- und Schreibrechte auf ein Repository haben, können nun ganz normal mit den Reporitories arbeiten, z.B.:
|
|
Repositories löschen
Um vorhandene Repositories zu löschen, genügt es, diese aus der Konfigurationsdatei zu entfernen. Gitolite löscht dabei allerdings nicht das entsprechende Repository-Verzeichnis auf dem Server, dieses muss manuell gelöscht werden.
Erweiterte Konfiguration von gitolite
Gitolite ermöglicht eine viel umfassendere Konfiguration der Repositories als im Beitrag gezeigt, wie etwa die Beschränkung von Benutzern auf bestimmte Branches oder das Anlegen von Benutzergruppen. Diese Einstellungen können in der gitolite Dokumentation nachgeschlagen werden.