fn2:aktualisierung
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
fn2:aktualisierung [2020/12/04 15:14] – christoph | fn2:aktualisierung [2023/03/23 16:22] – [Verknüpfung mit einem lokalen git-Repository (dringend empfohlen)] christoph | ||
---|---|---|---|
Zeile 36: | Zeile 36: | ||
Sowohl für fn2Module als auch für die Komponenten von fn2Web gibt es SQL-Skripte. Diese **müssen** eingespielt werden. | Sowohl für fn2Module als auch für die Komponenten von fn2Web gibt es SQL-Skripte. Diese **müssen** eingespielt werden. | ||
- | Dateien mit den Skripten für die drei verschiedenen | + | Dateien mit den Skripten für die vier von uns unterstützten |
Es kann vorkommen, dass Sie selbst Werte im Skript eintragen oder ergänzen müssen. Beachten Sie dazu die Hinweise in den Kommentaren. | Es kann vorkommen, dass Sie selbst Werte im Skript eintragen oder ergänzen müssen. Beachten Sie dazu die Hinweise in den Kommentaren. | ||
Zeile 45: | Zeile 45: | ||
git ist eine freie Software zur verteilten Versionsverwaltung und kann [[https:// | git ist eine freie Software zur verteilten Versionsverwaltung und kann [[https:// | ||
+ | |||
+ | git verwaltet Änderungen (**Commits**) und gliedert diese in Zweige (**Branches**), | ||
Eine Übersicht zahlreicher grafischer Oberflächen für git gibt es [[https:// | Eine Übersicht zahlreicher grafischer Oberflächen für git gibt es [[https:// | ||
Zeile 58: | Zeile 60: | ||
Der wesentlich elegantere und ganzheitlichere Weg fn2Web zu beziehen ist ein lokales git-Repository mit dem fn2webapps-Repository auf dem GitLab-Server zu verknüpfen. | Der wesentlich elegantere und ganzheitlichere Weg fn2Web zu beziehen ist ein lokales git-Repository mit dem fn2webapps-Repository auf dem GitLab-Server zu verknüpfen. | ||
- | Im Folgenden werden die jeweiligen Konsolen-Befehle benutzt. Es gibt zahlreiche grafische Tools für git, die im Grunde alle das gleiche können, da sie auf eben exakt jene Befehle zurückgreifen. | + | Im Folgenden werden die jeweiligen Konsolen-Befehle benutzt. Es gibt zahlreiche grafische Tools für git, die im Grunde alle das gleiche können, da sie auf eben exakt jene Befehle zurückgreifen. |
**Ersteinrichtung**\\ | **Ersteinrichtung**\\ | ||
Zeile 65: | Zeile 67: | ||
erstellt einen Ordner .git/ im aktuellen Verszeichnis (für fn2Web-Zwecke sollte dieses Verzeichnis leer sein) in dem sich die Verwaltungsdateien für das Repository befinden. | erstellt einen Ordner .git/ im aktuellen Verszeichnis (für fn2Web-Zwecke sollte dieses Verzeichnis leer sein) in dem sich die Verwaltungsdateien für das Repository befinden. | ||
- | Verknüpfen des Repositries | + | Verknüpfen des Repositories |
git remote add fn2web https:// | git remote add fn2web https:// | ||
erstellt eine Remote mit dem Namen " | erstellt eine Remote mit dem Namen " | ||
Zeile 73: | Zeile 75: | ||
git checkout -b 2.04.06 fn2web/ | git checkout -b 2.04.06 fn2web/ | ||
- | erstellt einen neuen lokalen Branch " | + | erstellt einen neuen lokalen Branch " |
Mit | Mit | ||
git log | git log | ||
kann überprüft werden, auf welchem Stand sich der Branch befindet (genauer gesagt können so die Commits des Branches betrachtet werden). | kann überprüft werden, auf welchem Stand sich der Branch befindet (genauer gesagt können so die Commits des Branches betrachtet werden). | ||
- | |||
- | git remote add -f -t 2.04.06 -m 2.04.06 fn2web https:// | ||
- | fasst die 'git remote', | ||
**Aktualisierung**\\ | **Aktualisierung**\\ | ||
Zeile 88: | Zeile 87: | ||
Soll auf ein neues Release aktualisiert werden, ist dieses im fn2webapps-Repository als ein eigener Branch vorhanden (Branch " | Soll auf ein neues Release aktualisiert werden, ist dieses im fn2webapps-Repository als ein eigener Branch vorhanden (Branch " | ||
git fetch | git fetch | ||
- | ausgeführt werden, | + | ausgeführt werden, |
git checkout -b [neuer Branch] fn2web/ | git checkout -b [neuer Branch] fn2web/ | ||
gemacht werden um den neuen Branch lokal an zu legen. Falls der Name des gewünschten Branches mit einem '#' | gemacht werden um den neuen Branch lokal an zu legen. Falls der Name des gewünschten Branches mit einem '#' | ||
+ | |||
+ | Danach müssen nur noch die aktualisierten Dateien in das Webapplikationsverzeichnis des Servers kopiert werden. Dies kann über unsere mitgelieferten Kopierskripts (Achtung, müssen angepasst werden!), oder auch gerne durch andere Mechanismen geschehen. | ||
<WRAP center round important> | <WRAP center round important> | ||
Zeile 103: | Zeile 104: | ||
<WRAP center round important> | <WRAP center round important> | ||
- | Es ist leider eine gängige Praxis bei Linux-Systemen (und in geringerem Umfang auch Windows) standartmäßig mit dem Superuser zu arbeiten. In Zeiten von Emotet und ähnlicher Schadsoftware, | + | Es ist leider eine gängige Praxis bei Linux-Systemen (und in geringerem Umfang auch Windows) standartmäßig mit dem Superuser zu arbeiten. In Zeiten von Emotet und ähnlicher Schadsoftware, |
Wenn mit dem root-User git-Operationen ausgeführt werden, dann werden die Änderungen im .git-Ordner auch mit dem root-User als Inhaber hinterlegt. Ein normaler Nutzer kann dann diese nicht mehr ändern ohne die git-Befehle selbst unter Superuser-Kontext auszuführen. Je nach Art der Änderungen wird das dem Nutzer aber von git nicht mit geteilt. In anderen Worten: es kann dadurch passieren, dass ein 'git pull' ohne Fehlermeldung durchläuft, | Wenn mit dem root-User git-Operationen ausgeführt werden, dann werden die Änderungen im .git-Ordner auch mit dem root-User als Inhaber hinterlegt. Ein normaler Nutzer kann dann diese nicht mehr ändern ohne die git-Befehle selbst unter Superuser-Kontext auszuführen. Je nach Art der Änderungen wird das dem Nutzer aber von git nicht mit geteilt. In anderen Worten: es kann dadurch passieren, dass ein 'git pull' ohne Fehlermeldung durchläuft, | ||
</ | </ | ||
Zeile 111: | Zeile 112: | ||
Im Ordner Konfigurationsdateien gibt es Skripte für Windows (// | Im Ordner Konfigurationsdateien gibt es Skripte für Windows (// | ||
+ | Anschließend müssen alle Einträge und Änderungen in den Hochschul-spezifischen Dateien vorgenommen werden, die seit dem letzten Update hinzugekommen sind. Daher, die [[releasenotes: | ||
===== fn2Web-Releases Verzeichnisstruktur ===== | ===== fn2Web-Releases Verzeichnisstruktur ===== | ||
Zeile 124: | Zeile 126: | ||
git pull | git pull | ||
führt eigentlich zwei separate Befehle aus: 'git fetch' und 'git merge' | führt eigentlich zwei separate Befehle aus: 'git fetch' und 'git merge' | ||
- | Fetch wurde bereits beschrieben, | + | Fetch wurde bereits beschrieben, |
git branch | git branch | ||
Zeile 141: | Zeile 143: | ||
- | ==== Wenn der Hinweis ignoriert wurde und vorhandene Dateien geändert wurden, ist folgendes durchzuführen: | + | ==== Wenn vorhandene Dateien geändert wurden, ist folgendes durchzuführen: |
- | Ein Update wird dann mit dem Hinweis abbrechen, dass lokale Änderungen durch das Update überschrieben würden und man diese entweder committen (was von FlexNow-Seite aus nicht erwünscht ist) oder diese " | + | Ein Update wird dann mit dem Hinweis abbrechen, dass lokale Änderungen durch das Update überschrieben würden und man diese entweder committen (was von FlexNow-Seite aus nicht erwünscht |
Alternativ kann, vor allem bei schwereren Beschädigungen am Repository, mit dem reset-Befehl gearbeitet werden: | Alternativ kann, vor allem bei schwereren Beschädigungen am Repository, mit dem reset-Befehl gearbeitet werden: |
fn2/aktualisierung.txt · Zuletzt geändert: 2024/03/04 14:54 von christoph