Benutzer-Werkzeuge

Webseiten-Werkzeuge


redmine:repository

Git-Projektarchiv zu Redmine hinzufügen

Redmine bietet die Möglichkeit, ein pro Projekt ein Projektarchiv eines Versionskontrollsystems hinzuzufügen. Unterstützt werden derzeit folgende Versionskontrollsysteme:

  • Subversion
  • Darcs
  • Mercurial
  • CVS
  • Bazaar
  • Git
  • Filesystem

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.

Git-Projektarchiv erstmals auf dem Raspberry Pi spiegeln

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

Git-Projektarchiv in Redmine hinzufügen

Ö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“.

ein Git-Projektarchiv regelmäßig automatisch aktualisieren

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]

mehrere Git-Projektarchive regelmäßig automatisch aktualisieren

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 für den Cronjob bekannt gemacht werden:

nano ~/.ssh/config

host [URL vom Server 1]
 HostName [Server-Adresse 1]
 IdentityFile ~/.ssh/id_rsa_[schluessel_Name 1]
 User [Benutzername 1]

host [URL vom Server 2]
 HostName [Server-Adresse 2]
 IdentityFile ~/.ssh/id_rsa_[schluessel_Name 2]
 User [Benutzername 2]
redmine/repository.txt · Zuletzt geändert: 2019/09/22 00:26 von webproducer