Allgemein
Wenn Ihre Benutzer direkten Internetzugang haben, ist die Anwendung nach der Anmeldung bei Ihrer Passwork-Instanz über das Browsermenü verfügbar. Keine weiteren Schritte erforderlich: Das Backend erkennt automatisch die neueste kompatible Version. Bei einem Backend-Update werden Benutzer beim nächsten Anmelden aufgefordert, die Desktop-Anwendung zu aktualisieren.
Passwork wird jedoch oft in isolierten Netzwerken eingesetzt. In diesem Fall müssen Installation und Aktualisierung der Desktop-Anwendung ohne Zugang zum öffentlichen Internet oder unserem Repository funktionieren.
Die Version der Desktop-Anwendung ist an die von Ihnen installierte Passwork-Version angepasst. Dieser Artikel beschreibt die Details für die Bereitstellung und Aktualisierung der Passwork-Desktop-Anwendung in isolierten Netzwerken.
Update-Server
- Der Update-Server muss Inhalte in einer bestimmten Struktur bereitstellen, damit Benutzer die Anwendung korrekt installieren und aktualisieren können. Im Folgenden beschreiben wir die erforderliche Struktur und wie Sie sie mit den bereitgestellten Skripten füllen.
- Die Versionen der Desktop-Anwendung sind an die auf dem Backend unterstützte Desktop-Funktion gebunden (Versionsformat
XXYY, BuildsXXYYZZ). Der Passwork-Server hat eine eigene Versionierung; die Desktop-Anwendung wird mit der Funktionsversion synchronisiert, nicht „einfach mit dem Backend“. Sie können die „neueste“ Anwendungsversion nicht in Stores oder ein öffentliches Repository stellen und installieren — der Client muss einen Build erhalten, der mit Ihrem Server kompatibel ist. - Das Backend hat eine Einstellung, die durch die Variable DESKTOP_SERVER_BASE_URL gesteuert wird — die Update-Server-URL. Der Client nutzt diese URL, um nach Updates zu prüfen und den Installer herunterzuladen.
- Wir empfehlen dringend, den Update-Server getrennt vom Anwendungsserver zu hosten: Das ermöglicht eine sinnvolle Ressourcenzuteilung und trennt die Verantwortlichkeiten.
Update-Server-Struktur
Der Client erwartet folgende Struktur an der Basis-URL (Ihre DESKTOP_SERVER_BASE_URL):
- An der Wurzel — Verzeichnisse für Desktop-Funktionsversionen im Format
XXYY(4 Ziffern, z. B. 0100, 0201). Das ist nicht die volle Backend-Version, sondern die unterstützte Desktop-Funktionsversion; sie entspricht bestimmten Builds (XXYYZZ). - In jedem
XXYY-Verzeichnis:- Manifestdateien:
latest.yml,latest-linux.yml,latest-mac.yml(Pfade zu Installern und Checksums). - Unterverzeichnisse mit Installern: z. B.
010203/mit.exe-,.deb-,.rpm-,.dmg-Dateien usw.
- Manifestdateien:
Beispiel:
- shell
DESKTOP_SERVER_BASE_URL/
0100/
latest.yml
latest-linux.yml
latest-mac.yml
010203/
Passwork-Setup-1.2.3.exe
passwork_1.2.3_amd64.deb
...
0201/
...
Der Client nutzt die aus den latest*-Manifestdateien erhaltene Version XXYYZZ.
Skripte für Linux und Windows
Kurz-Checkliste
- Stellen Sie den Update-Server getrennt vom Backend bereit (empfohlen).
- Setzen Sie DESKTOP_SERVER_BASE_URL auf dem Backend auf die Basis-URL dieses Servers.
- Konfigurieren Sie die Befüllung: Bash-/PowerShell-Skripte mit
OUTPUT_DIRund bei BedarfPASSWORK_DOMAINundHTTP_PROXY. Holen Sie die Version nur über die API oder eine lokale Datei; nutzen Sie das Repository nur als Dateiquelle. - Führen Sie das Skript zeitgesteuert oder manuell nach Backend-Updates aus.
- Für die Überwachung nutzen Sie den Exitcode und optional
STATUS_FILEundLOG_FILE. - In vollständig isolierten Netzwerken — nutzen Sie Archive vom Portal und legen Sie den Inhalt manuell im Format
XXYYmitlatest*.ymlund Installern ab.
Versions-Rollback
Wurde der Anwendungsserver auf eine ältere Version zurückgesetzt (die verfügbare XXYY-Version hat sich verringert), entfernt das Skript Verzeichnisse für neuere Versionen nicht automatisch. Wir empfehlen:
- Die verfügbare Desktop-Version ermitteln über diese API-Anfrage an das Backend:
<PASSWORK_DOMAIN>/api/v1/app/features; in der Antwort für die Desktop-Funktion — das Feldversionverwenden. - Auf dem Update-Server XXYY-Verzeichnisse entfernen, die neuer als diese Version sind. Unter
OUTPUT_DIRgibt es Verzeichnisse mit 4-stelligen Namen; behalten Sie nur die, die nicht neuer als die Rollback-Version sind, und entfernen Sie den Rest (damit Clients kein Update auf eine Version erhalten, mit der das Backend noch nicht kompatibel ist). - Führen Sie das Desktop-Update-Skript nach dem nächsten Anwendungsserver-Update erneut aus.
Es gibt keine eingebaute automatische Rollback-Behandlung im Skript: Es synchronisiert nur eine ausgewählte Version und entfernt gemäß KEEP_RELEASES überzählige alte Verzeichnisse. Das Entfernen „zu neuer“ Verzeichnisse beim Rollback ist ein separater Schritt (Skript oder manuell) basierend auf der API-Antwort und der Bereinigung der Struktur unter OUTPUT_DIR.