Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
software:gitolite [2012/08/04 16:58] mhoffmann |
software:gitolite [2012/10/11 10:23] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Gitolite Versionsverwaltungsserver mit GIT ====== | ||
- | Gitolite ist ein Versionsverwaltungsserver der auf GIT basiert und eine denkbar einfache Konfiguration besitzt. | ||
- | Da die komplette Konfiguration über ein eigenes GIT-Repository läuft benötigt man kein Webinterface und hat sogar eine Versionsverwaltete Konfiguration. | ||
- | |||
- | ===== Vorbereitungen ===== | ||
- | Für die Installation von Gitolite braucht man folgendes: | ||
- | - Server mit konfiguriertem SSH-Zugang (am besten über den Standardport und mit PublicKey-Authentifizierung). | ||
- | - GIT-Client auf dem lokalen Rechner | ||
- | - Unter Linux einfach über den Paketmanager installieren | ||
- | - Bei MacOS über Portierungsprogramme wie "Homebrew" oder "Macports" installieren | ||
- | - Unter Windows am besten GIT mit GitBash installieren. | ||
- | - SSH PublicKey des eigenen Rechners im richtigen Format (Mit Putty-PublicKeys funktioniert das nicht) | ||
- | - Ein bisschen Ahnung wie GIT funktioniert. | ||
- | |||
- | Zunächst solltet ihr den PublicKey auf den Server ziehen und dort irgendwo im Homeverzeichnis ablegen, ein Eintrag in die Datei **/home/[USER]/.ssh/authorized_keys** reicht nicht! | ||
- | Wie ihr SSH-Keys erstellt hängt vom Client ab, meistens jedoch kann man die SSH-Keys über die Shell (Bei Linux und Mac) mit dem Befehl ''ssh-keygen'' erstellen. | ||
- | |||
- | ===== Installation ===== | ||
- | Gitolite kann einfach mit dem Befehl | ||
- | <code> | ||
- | sudo apt-get install gitolite | ||
- | </code> | ||
- | installiert werden. | ||
- | Dabei werden noch einige Pakte benötigt, wie bspw. git-core etc., welche aber automatisch mitinstalliert werden. | ||
- | |||
- | ===== Grundkonfiguration ===== | ||
- | Die Konfiguration von Gitolite ist unter Ubuntu ebenfalls recht einfach. Bei der Installation wird Gitolite einige Warnmeldungen anzeigen, dass noch kein Admin-key eingetragen ist, das soll nun behoben werden. | ||
- | Eingerichtet wird Gitolite über den Paketmanager mit | ||
- | <code> | ||
- | sudo dpkg-reconfigure gitolite | ||
- | </code> | ||
- | Dann werdet ihr einige Dinge gefragt: | ||
- | - An welchem Ort die Gitrepositories liegen sollen. Hierbei solltet ihr einen ordentlichen Pfad wählen, wie bspw **/srv/gitolite**. Fall noch nicht vorhanden wird der Paketmanager diesen Pfad erstellen. | ||
- | - Wie soll der Nutzer heißen, mit dem auf die Repositories zugegriffen werden soll. Nehmt hier bitte keinen User, der produktiv genutzt wird, also kein Admin- oder Nutzerkonto. Am besten eignet sich **gitolite**, da dieser Nutzername auch bei jedem Clone eines Repositories genutzt werden muss | ||
- | - Den Speicherort des SSH-PublicKeys den man vorher hochgeladen hat. Bitte auf entsprechende Leserechte achten! | ||
- | |||
- | Nach diesem drei Punkten ist Gitolite in der Regeln konfiguriert und man kann nun Anfangen die Repository-konfiguration zu beginnen. | ||
- | |||
- | ===== Verwaltung von Nutzern und Repositories ===== | ||
- | ==== Checkout admin-repo ==== | ||
- | |||
- | Wie bereits erwähnt erfolgt die produktive Konfiguration über ein eigenes Repository. | ||
- | Dieses müsst ihr euch auf den Rechner klonen dessen SSH-Key ihr als admin-key eingetragen habt. | ||
- | Der Clone funktioniert über git mit dem Befehl: | ||
- | <code> | ||
- | git clone [Gitoliteuser]@adresse.des.servers:gitlolite-admin.git | ||
- | </code> | ||
- | |||
- | Die Authentifizierung erfolgt über den SSH-Schlüssel, das Repository wird geklont. | ||
- | Wird auf dem Server SSH nicht auf dem Standardport genutzt so muss der Clone-Befehl wie folgt lauten: | ||
- | <code> | ||
- | git clone ssh://[Gitoliteuser]@adresse.des.servers:[SSHPort]/gitolite-admin.git | ||
- | </code> | ||
- | ==== Verwaltung Nutzer ==== | ||
- | ==== Verwaltung Repos ==== | ||
- | ==== Upload Config ==== | ||
- | |||
- | {{tag>git versionsverwaltung}} | ||
- | |||
- | |||
- | |||
Bei Verwendung dieses Wikis erklären Sie sich mit dem Haftungsausschluss, Nutzungsbedingungen und der Datenschutzerklärung dieses Wikis einverstanden. Impressum.