Konfiguration des zentralen Repositories (GIT)

Aus Siduction Wiki DE
Wechseln zu: Navigation, Suche

GIT-Tutorial: Übersicht

Vorbemerkung

Hier wird eine einfache Möglichkeit vorgestellt, GIT-Repositories auf einem Server veröffentlichen.

Wichtig: Mit dieser Methode sind die Repositories schreibgeschützt und für jedermann lesbar.

Für die Verwaltung schreibbarer Repositories mit verschlüsseltem Zugang bietet sich Gitosis an.

Installation

 apt-get install git-daemon-run

Mit diesem Paket wird implizit das Paket runit installiert, das eine allgemeine Verwaltung von Dämon-Prozessen (Diensten) bietet.

Konfiguration

Die Konfiguration von git-daemon erfolgt durch Aufrufparameter, also muss dies in der Konfiguration von runit passieren:

 cd /etc/service/git-daemon
 # in der Datei run steht der Aufruf von git-daemon
 $EDITOR run

Hier muss die folgende Zeile geändert werden:

 exec git-daemon --export-all --verbose --base-path=/srv/gitosis/repositories/public /srv/gitosis/repositories/public

Dabei geht das Beispiel davon aus, dass das Repository von Gitosis verwaltet wird (daher der Pfad /srv/gitosis/repositories), zusätzlich aber schreibgeschützt für jedermann lesbar veröffentlicht wird (mittels git-daemon).

Noch ein Beispiel, wenn gitosis nicht verwendet wird:

 exec git-daemon --export-all --verbose --base-path=/home/public /home/public

Ist runit in der Version >= 2.0, so sieht die Datei so aus:

#!/bin/sh
exec 2>&1
echo 'git-daemon starting.'
exec chpst -ugitdaemon \
  "$(git --exec-path)"/git-daemon --syslog --export-all --verbose --base-path=/srv/gitosis/repositories/public /srv/gitosis/repositories/public

Optionen und Argumente

--export-all gibt alle Repositories frei, die in der Whitelist stehen. Wird diese Option nicht angegeben, so muss im Pfad jedes freizugebenden Repositories eine Datei namens git-daemon-export-ok existieren.

--base-path gibt den Pfad an, der in der URL entfernt wird (siehe unten).

Die Argumente, die keine Optionen sind, sind Einträge in die Whitelist der Repositories. Auch Unterverzeichnisse von Whitelisteinträgen werden exportiert.

Zugriff auf die Repositories

Mit den obigen Einstellungen kann das Repository /srv/gitosis/repositories/public/git-tut-remote auf dem Server f-r-e-i.de folgendermassen geklont werden:

 git clone git://f-r-e-i.de/git-tut-remote