Gitolite

Willemers Informatik-Ecke

Die Bücher des Autors:
C++ Der Einstieg
Python
Java
Linux-Server für Einsteiger
Coding for fun mit C++
2017-01-01

Installation des Gitolite-Pakets

Die Installation wird den öffentlichen Schlüssel des Git-Administrators anfordern. Darum empfielt es sich, diesen zuvor auf den Server zu schaffen oder ihn zu erzeugen.

Generieren des SSH-Keys

Um einen SSH-Schlüssel zu erzeugen, ruft man das Programm ssh-keygen auf. Sie werden nach einem anderen Namen gefragt und nach einer Passphrase. Sie können beide Fragen einfach mit der Returntaste beantworten.

Als Ergebnis liegen die Dateien id_rsa und id_rsa.pub im Verzeichnis .ssh. Die erste von beiden enthält den privaten Schlüssel, den man niemals hergibt. Die Datei id_rsa.pub enthält den öffentlichen Schlüssel, den man so oft wie möglich verteilt.

Installation des Pakets gitolite3

apt-get install gitolite3
Die Installation fordert den öffentlichen Schlüssel des Administrators an. Hier kann der Schlüssel selbst oder der Pfad angegeben werden.
/home/arnold/.ssh/id_rsa.pub

Clone des Administrations-Repository

Anschließend muss auf Administrations-Repository per Clone geholt werden. Auf dem Arbeitsplatz, auf dem der Administrator seinen privaten SSH-Kay hat, ruft er folgenden Befehl auf:
git clone gitolite3@server:gitolite-admin
Dabei ist server der Hostname des PCs, auf dem Gitolite installiert wurde.

Das Administrations-Repository

Das Administrations-Repository enthält zwei Verzeichnisse:
conf
In diesem Verzeichnis befindet sich die Datei gitolite.conf. Darin werden die Repositories, Gruppen und Mitglieder konfiguriert.
keydir
Das Verzeichnis enthält die öffentlichen SSH-Keys aller Benutzer. Ein Schlüssel admin.pub ist bereits enthalten. Es ist der Schlüssel des Administrators.

Benutzer anlegen

Ein neuer Benutzer namens user angelegt, indem
  1. ... dessen öffentlicher Schlüssel unter dem Namen user.pub in das Verzeichnis keydir gelegt Wird.
  2. ... die Datei oder das ganze Verzeichnis mit dem Befehl git add in den Zustand staged gebracht wird.
  3. Mit dem Befehl git commit geht der Schlüssel in das lokale Repository.
  4. Mit dem Befehl git push wird der Schlüssel in das zentrale Repository geschafft.

Konfigurationsdatei

Im Verzeichnis conf befindet sich eine Datei namens gitolite.conf. Sie enthält zu Anfang folgende Zeilen:
repo gitolite-admin
    RW+     =   admin

repo testing
    RW+     =   @all
Die erste Zeile definiert, dass nur der Benutzer admin das Repository gitolite-admin bearbeiten darf. Darunter ist zu sehen, dass das Repo testing von der Gruppe @all bearbeitet werden darf.

Gruppen beginnen mit einem @-Zeichen. Sie können selbst definiert werden.

@developers = armin hugo emil erna
@admins     = udo anton
@gemeinsam  = @developers @admins erwin

Links


Homepage (C) Copyright 2017 Arnold Willemer