fn2:aktualisierung
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
fn2:aktualisierung [2020/12/04 12:23] – [Releasezyklus, Patches und Hotfixes für fn2Web] christoph | fn2:aktualisierung [2023/03/23 16:26] – [Verknüpfung mit einem lokalen git-Repository (dringend empfohlen)] christoph | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== | + | ====== Aktualisierungsprozess von fn2Web ====== |
- | + | ||
- | ===== Aktualisierungsprozess von fn2Web | + | |
==== Versionierung, | ==== Versionierung, | ||
Zeile 10: | Zeile 8: | ||
**fn2Web-Version**\\ | **fn2Web-Version**\\ | ||
- | Die fn2Web-Version wird nur bei grundlegenden, | + | Die fn2Web-Version wird nur bei grundlegenden, |
**Releases**\\ | **Releases**\\ | ||
Releases werden von uns grob zwei Mal im Jahr geplant, zum Jahres-Anfang und im Herbst. Optional können bei Bedarf zusätzliche Releases veröffentlicht werden, z.B. wenn ein schwerer Fehler im System eine zeitnahe Aktualisierung bedingt. Releases beinhalten aufwändigere Erweiterungen und Anforderungen und verlangen häufig das Anpassen von hochschulspezifischen Konfigurationsdateien. | Releases werden von uns grob zwei Mal im Jahr geplant, zum Jahres-Anfang und im Herbst. Optional können bei Bedarf zusätzliche Releases veröffentlicht werden, z.B. wenn ein schwerer Fehler im System eine zeitnahe Aktualisierung bedingt. Releases beinhalten aufwändigere Erweiterungen und Anforderungen und verlangen häufig das Anpassen von hochschulspezifischen Konfigurationsdateien. | ||
- | Obwohl ein neues Release so schnell wie möglich eingespielt werden sollte, ist uns bewusst, dass das aufgrund des hohen Test-Aufands nicht immer geht. Daher versorgen wir sowohl das aktuelle, als auch das vorhergehende Release mit Updates. | + | Obwohl ein neues Release so schnell wie möglich eingespielt werden sollte, ist uns bewusst, dass das aufgrund des hohen Test-Aufands nicht immer möglich ist. Daher versorgen wir sowohl das aktuelle, als auch das vorhergehende Release mit Updates. |
{{ : | {{ : | ||
- | Die Termine für Releases und Updates | + | Die Termine für Releases und Updates |
**Updates**\\ | **Updates**\\ | ||
- | Updates sind meist kleinere Erweiterungen und dringende Fehlerbehebungen, | + | Updates sind meist kleinere Erweiterungen und dringende Fehlerbehebungen, |
==== Releasezyklus für fn2Module ==== | ==== Releasezyklus für fn2Module ==== | ||
- | Der Releaseprozess für die fn2Module ändert sich nicht. Neue Versionen, die von Kunden angeforderte Features enthalten, werden nach Fertigstellung bereitgestellt. Die in den neuen Versionen enthaltenen Änderungen sind in den dazugehörigen Release Notes dokumentiert. | + | Der Releaseprozess für die fn2Module ändert sich nicht. Neue Versionen, die von Kunden angeforderte Features enthalten, werden nach Fertigstellung bereitgestellt. Die in den neuen Versionen enthaltenen Änderungen sind in den dazugehörigen |
==== Gegenseitig abhängige Updates von fn2Module und fn2Web ==== | ==== Gegenseitig abhängige Updates von fn2Module und fn2Web ==== | ||
Zeile 38: | 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. | ||
Bei Rückfragen wenden Sie sich zunächst an die im Skript angegebene Ansprechperson. Sollte ein Problem auftreten, das mehrere User betreffen könnte, eröffnen Sie bitte ein Ticket in dem entsprechenden Bereich SQL-Skripte unseres Ticketing-Systems | Bei Rückfragen wenden Sie sich zunächst an die im Skript angegebene Ansprechperson. Sollte ein Problem auftreten, das mehrere User betreffen könnte, eröffnen Sie bitte ein Ticket in dem entsprechenden Bereich SQL-Skripte unseres Ticketing-Systems | ||
- | ===== GIT zum Download der Releases ===== | ||
- | GIT ist eine freie Software zur verteilten Versionsverwaltung und kann [[https://git-scm.com/ | + | ===== git zum Download fn2Web-Versionen ===== |
- | Eine Übersicht zahlreicher grafischer Oberflächen für GIT gibt es unter [[https:// | + | git ist eine freie Software zur verteilten Versionsverwaltung und kann [[https:// |
- | Ein Grundlagenbuch ist [[https://git-scm.com/ | + | git verwaltet Änderungen (**Commits**) und gliedert diese in Zweige (**Branches**), |
- | ===== Übersicht | + | Eine Übersicht |
- | {{ :fn2: | + | fn2Web kann von unserem [[https://gitlab.ihb-eg.de|GitLab-Server]] bezogen werden. Grundsätzlich gibt es zwei Möglichkeiten das fn2Web-Repository herunter zu laden, die im Folgenden beschrieben werden: |
+ | ==== Direkter Download von fn2Web (nicht empfohlen) ==== | ||
+ | Das Repository und auch einzelne Dateien können dirkt über die GitLab-Oberfläche in verschiedenen Formaten gepackt herunter geladen werden. | ||
+ | {{ : | ||
+ | Da hierbei sämtliche Vorteile, die git bietet, ignoriert werden, sollte so nur in Ausnahmefällen vorgegangen werden. | ||
- | ===== fn2Web-Releases Verzeichnisstruktur ===== | + | ==== Verknüpfung mit einem lokalen git-Repository (dringend empfohlen) |
+ | 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. | ||
- | Mit dem nachfolgenden Screenshot wird die Verzeichnisstruktur, die man beim Download von fn2Web-Releases erhält, erklärt. | + | Im Folgenden werden |
- | {{ :fn2:fn2web-releases_verzeichnisstruktur.jpg?nolink |}} | + | **Ersteinrichtung**\\ |
+ | Initialisierung (Erstellen) eines lokalen git-Repositories: | ||
+ | git init | ||
+ | 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. | ||
- | ===== Wichtige GIT-Befehle ===== | + | Verknüpfen des Repositories mit dem fn2webapps-Repository über eine Remote: |
+ | git remote add fn2web https:// | ||
+ | erstellt eine Remote mit dem Namen " | ||
+ | git fetch fn2web | ||
+ | läd die Informationen zur Remote " | ||
- | ==== Zum erstmaligen Download der FN2-Webapps ==== | + | git checkout |
+ | erstellt einen neuen lokalen Branch " | ||
- | < | + | Mit |
+ | | ||
+ | kann überprüft werden, auf welchem Stand sich der Branch befindet (genauer gesagt können so die Commits des Branches betrachtet werden). | ||
- | Der Befehl "git clone" kopiert die Ablage in einen neu erstellten Ordner und erstellt einen remote-tracking Zweig für jeden Zweig in der originalen Ablage. | + | **Aktualisierung**\\ |
+ | Das Aktualisieren des momentan ausgecheckten Branches ist denkbar einfach: | ||
+ | | ||
- | Während des Klonens kann mehrfach die folgende Fehlermeldung auftreten: | + | Soll auf ein neues Release aktualisiert werden, ist dieses im fn2webapps-Repository als ein eigener Branch vorhanden |
- | < | + | git fetch |
- | Diese bitte ignorieren | + | ausgeführt werden, um das lokale Repository mit der remote abzugleichen |
+ | git checkout | ||
+ | gemacht werden um den neuen Branch lokal an zu legen. Falls der Name des gewünschten Branches mit einem '#' | ||
- | <WRAP center round important 60%> | + | Danach müssen nur noch die aktualisierten |
- | In dem ausgecheckten Verzeichnis dürfen niemals vorhandene | + | |
- | </ | + | |
- | ==== Laden von Updates des aktuellen Zweiges ==== | + | <WRAP center round important> |
+ | Der FTP-Server ist für git nicht mehr verfügbar und wurde von einem GitLab-Server abgelöst. | ||
+ | Deshalb muss in der Datei ''/ | ||
- | Um zu prüfen, ob neue Zweige oder Updates zur Verfügung stehen, ist < | + | < |
+ | url = https:// | ||
+ | für die Remote " | ||
+ | </ | ||
- | Mit < | ||
- | |||
- | |||
- | Um anzuzeigen, **welche Zweige existieren**, | ||
- | |||
- | Zu einem anderen Zweig kann gewechselt werden mittels des Befehls < | ||
- | |||
- | Um die komplette Historie anzeigen zu lassen, wird der Befehl < | ||
- | |||
- | **Die Ausgabe ist wie folgt zu lesen:** //Label des Commits// (//HEAD// -> dieser Zustand ist augecheckt, // | ||
- | |||
- | |||
- | ==== Wartung: verwaiste Zweige löschen, um Speicherplatz frei zu geben ==== | ||
- | |||
- | Dieser Befehlt, löscht einen lokalen Zweig - üblicherweise, | ||
- | |||
- | < | ||
- | |||
- | Mit diesem Befehl werden die Zweige die auf dem Server bereits gelöscht wurden, bereinigt < | ||
+ | <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, | ||
+ | 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, | ||
+ | <WRAP center> | ||
+ | </ | ||
==== Aktualisieren der FN2-Installation ==== | ==== Aktualisieren der FN2-Installation ==== | ||
Zeile 108: | Zeile 113: | ||
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 ===== | ||
- | ==== Wechseln eines Zweiges und anzeigen | + | Mit dem nachfolgenden Screenshot wird die Verzeichnisstruktur, |
- | Zu einem anderen Zweig kann gewechselt werden mittels des Befehls < | + | {{ : |
- | Der Befehl < | + | ===== Wichtige GIT-Befehle ===== |
- | Die <commit hash> werden mit dem Befehl < | + | |
+ | aktualisiert die lokalen Informationen zu den bekannten Remotes und gibt Änderungen detailiert | ||
- | Die Release-Notes können mit demselben Befehl < | + | |
+ | führt eigentlich zwei separate Befehle aus: 'git fetch' | ||
+ | Fetch wurde bereits beschrieben, | ||
- | Mit den folgenden Befehlen, können | + | git branch |
+ | zeigt die lokalen Zweige/ | ||
- | < | + | |
+ | zeigt die lokal definierten Remotes und zugehörige URLs an. | ||
- | < | + | |
- | + | git show | |
- | < | + | sind beides Befehle, mit denen eine Übersicht über den Verlauf von Commits im Repository gewonnen werden kann. |
- | + | ||
- | Der Befehl < | + | |
+ | Die meisten git Befehle leisten viel mehr, als hier aufgeführt werden kann. Daher sei auch hier nocheinmal auf die [[https:// | ||
===== Troubleshooting ===== | ===== Troubleshooting ===== | ||
- | ==== 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: | ||
+ | git reset --hard < | ||
+ | bringt sowohl den HEAD als auch den Working-Tree (also die verwalteten Dateien) auf den Stand von < | ||
==== Probleme mit Sonderzeichen im Passwort ==== | ==== Probleme mit Sonderzeichen im Passwort ==== | ||
- | |||
Falls ein Sonderzeichen im Passwort ist und der Zugang zum GIT-Server verweigert wird, muss das Passwort im lokalen Kunden-Repository in der Datei .../ | Falls ein Sonderzeichen im Passwort ist und der Zugang zum GIT-Server verweigert wird, muss das Passwort im lokalen Kunden-Repository in der Datei .../ | ||
Zeile 148: | Zeile 161: | ||
{{ : | {{ : | ||
- | |||
- | |||
- | ==== Link zum GitLab-Server ==== | ||
- | |||
- | Der FTP-Server ist für Git nicht mehr verfügbar. | ||
- | Deshalb muss in der Datei ''/ | ||
- | |||
- | < | ||
- | url = https:// |
fn2/aktualisierung.txt · Zuletzt geändert: 2024/03/04 14:54 von christoph