Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
redmine:repository [2019/04/07 15:30] webproducer angelegt |
redmine:repository [2019/09/22 00:26] (aktuell) webproducer SSH-"config" um 2. Eintrag erweitert |
||
---|---|---|---|
Zeile 11: | Zeile 11: | ||
* Filesystem | * Filesystem | ||
- | Diese Dokumentation beschreibt die Integration eines externen, auf einem anderen Server liegendes, Git-Projektarchives. | + | 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 ===== | ===== Git-Projektarchiv erstmals auf dem Raspberry Pi spiegeln ===== | ||
- | Text folgt | + | 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: |
+ | |||
+ | <code> | ||
+ | $ cd /var/lib/redmine | ||
+ | $ mkdir repos | ||
+ | $ git clone --mirror ssh://benutzername@domain.de/www/htdocs/pfad/zum/git/projektarchiv | ||
+ | </code> | ||
===== Git-Projektarchiv in Redmine hinzufügen ===== | ===== 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. | ||
+ | [[:ssh_copy_id|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: | ||
+ | <code> | ||
+ | $ sudo crontab -e | ||
+ | */5 * * * * cd /var/lib/redmine/repos/Projektarchiv.git && git remote update | ||
+ | Tasten [Strg]+[X] | ||
+ | Taste [J] | ||
+ | Taste [ENTER] | ||
+ | </code> | ||
+ | |||
+ | ===== 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: | ||
- | Text folgt | + | <code> |
+ | nano ~/.ssh/config | ||
- | ===== Git-Projektarchiv regelmäßig automatisch aktualisieren ===== | + | host [URL vom Server 1] |
+ | HostName [Server-Adresse 1] | ||
+ | IdentityFile ~/.ssh/id_rsa_[schluessel_Name 1] | ||
+ | User [Benutzername 1] | ||
- | Text folgt | + | host [URL vom Server 2] |
+ | HostName [Server-Adresse 2] | ||
+ | IdentityFile ~/.ssh/id_rsa_[schluessel_Name 2] | ||
+ | User [Benutzername 2] | ||
+ | </code> |