Dies ist eine alte Version des Dokuments!
Redmine bietet die Möglichkeit, ein pro Projekt ein Projektarchiv eines Versionskontrollsystems hinzuzufügen. Unterstützt werden derzeit folgende Versionskontrollsysteme:
Diese Dokumentation beschreibt die Integration eines externen, auf einem anderen Server liegendes, Git-Projektarchives. Voraussetzung ist, dass der SSH-Key zwischen den Servern für eine SSH-Kommunikation ohne Passwort und Passphrase ausgetauscht wurde.
Hierzu wechseln wir in das Verzeichnis „/var/lib/redmine“ und legen ein Verzeichnis „repos“ an. In diesem Verzeichnis wird anschließend das Git-Respository gespiegelt:
$ cd /var/lib/redmine $ mkdir repos $ git clone --mirror ssh://benutzername@domain.de/www/htdocs/pfad/zum/git/projektarchiv
Öffnen Sie das entsprechende Projekt und wählen Sie dann „Konfiguration“ =⇒ „Projektarchive“ =⇒ „Neues Repository“. Geben Sie hier eine eindeutige Kennung sowie den „Pfad zum Repository“ ein (z. B. /var/lib/redmine/repos/[Projektname].git)
Aktivieren Sie die Option „Bericht des letzten Commits für Dateien und Verzeichnisse“ und verlassen Sie den Dialog mit der Schaltfläche „Speichern“.
Damit das Git-Projektarchiv regelmäßig automatisch aktualisiert werden kann muss zunächst ein SSH-Key-Paar bestehend aus einem Private-Key und einem Public-Key erstellt werden. Der Public-Key wird dann auf den Git-Server übertragen, damit der Rasperry sich jederzeit automatisch mit dem Private-Key an dem Server anmelden kann, um selbständig das Projektarchiv zu aktualisieren. Hier wird erklärt, wie ein SSH-Key-Paar generieren und der Public-Key zum Git-Server übertragen wird.
Jetzt können wir einen Cronjob erstellen, der z. B. alle 15 Minuten ein Remote-Update vom Git-Repository durchführt. Hierfür ergänzen wird die bereits bei der Linux-Installation automatisch erstellte „crontab“-Datei:
$ sudo crontab -e */5 * * * * cd /var/lib/redmine/repos/Projektarchiv.git && git remote update Tasten [Strg]+[X] Taste [J] Taste [ENTER]
Wenn Sie mehr als ein Projektarchiv aktualisieren wollen und diese unterschiedliche Benutzernamen oder sogar auf verschiedenen Servern verteilt sind sollte für jede Serververbindung ein eigener SSH-Key erstellt werden. Diese können dann in einer „config“-Datei im „.ssh“-Verzeichnis bekannt gemacht werden:
host [URL] HostName [Server-Adresse] IdentityFile ~/.ssh/id_rsa_[schluessel_Name] User [Benutzername]