Benutzer-Werkzeuge

Webseiten-Werkzeuge


redmine:repository

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

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>​
redmine/repository.1554643856.txt.gz · Zuletzt geändert: 2019/04/07 15:30 von webproducer