Skip to main content

Upgrade mit einem Hotpatch

Du kannst ein Hotpatchpaket verwenden, um GitHub Enterprise Server auf eine neuere Patchversion in einer Featurereihe zu aktualisieren.

Du kannst GitHub Enterprise Server auf das neueste Patchrelease mithilfe eines Hotpatches upgraden.

Mittels Hotpatching kannst Du ein Upgrade auf einen neueren Patch-Release durchführen, jedoch keine Feature-Veröffentlichung. Du kannst z. B. ein Upgrade von 2.10.1 auf 2.10.5 durchführen, da sich beide Releases in derselben Featureserie befinden. Ein Upgrade von 2.10.9 auf 2.11.0 ist hingegen nicht möglich, da diese Releases unterschiedlichen Featureserien angehören.

Hotpatches erfordern in der Regel keinen Neustart. Wenn ein Hotpatch einen Neustart erfordert, geben die GitHub Enterprise Server-Versionshinweise die Anforderung an.

Hotpatches erfordern eine Konfigurationsausführung, was für einige oder alle Dienste auf Ihre GitHub Enterprise Server-Instance zu einer kurzen Fehlerperiode oder zu einer ausbleibenden Reaktion führen kann. Du musst den Wartungsmodus während der Installation eines Hotpatches nicht aktivieren, aber dadurch wird sichergestellt, dass Benutzer*innen eine Wartungsseite anstelle von Fehlern oder Timeouts angezeigt wird. Weitere Informationen finden Sie unter „Wartungsmodus aktivieren und planen“.

Mit der Verwaltungskonsole kannst du einen Hotpatch sofort installieren oder für die spätere Installation planen. Über die Verwaltungsshell kannst du mit dem ghe-upgrade-Hilfsprogramm einen Hotpatch installieren. Siehe „Übersicht über den Upgradeprozess“ und „Upgrade-Anforderungen“.

Aktualisieren einer eigenständigen Instanz mit einem Hotpatch

Wenn du ein Upgrade einer Instanz mit einem Knoten mit einem Hotpatch durchführst und dein Ziel ein Patchrelease ist, kannst du die Verwaltungskonsole verwenden. Um ein Upgrade auf ein Featurerelease durchzuführen, musst du die Verwaltungsshell verwenden.

Hotpatch mit der Verwaltungskonsole installieren

Du kannst die Verwaltungskonsole verwenden, um ein Upgrade mit einem Hotpatch durchzuführen, indem du automatische Updates aktivierst. Anschließend erhältst du die neueste verfügbare Version von GitHub Enterprise Server, auf die du ein Upgrade ausführen kannst.

Wenn das Upgrade-Ziel ein Featurerelease anstatt eines Patchrelease ist, kannst du die Verwaltungskonsole nicht verwenden, um einen Hotpatch zu installieren. Du musst den Hotpatch stattdessen mithilfe der Verwaltungsshell installieren.

  1. Aktivieren automatischer Updates. Weitere Informationen findest du unter Prüfungen auf automatische Updates aktivieren.

  2. Klicke in einem Verwaltungskonto auf GitHub Enterprise Server und dann in der rechten oberen Ecke einer beliebigen Seite auf „“.

  3. Wenn du dich nicht bereits auf der Seite „Websiteadministrator“ befindest, klicke in der oberen linken Ecke auf Websiteadministrator.

  4. Wähle auf der Randleiste „ Websiteadministrator“ die Option Verwaltungskonsole aus.

  5. Klicke auf der oberen Navigationsleiste auf Updates.

    Screenshot der Kopfzeile der Verwaltungskonsole. Eine Registerkarte mit der Bezeichnung „Updates“ ist mit einem orangefarbenen Rahmen hervorgehoben.

  6. Verwende nach dem Herunterladen eines neuen Hotpatches das Dropdownmenü Paket installieren.

    • Für eine sofortige Installation wählst du Jetzt aus.
    • Wähle für die spätere Installation ein späteres Datum aus.
  7. Klicke auf Installieren.

Hotpatch mit der Verwaltungsshell installieren

Note

Wenn du die Prüfung auf automatische Updates aktiviert hast, musst du das Upgradepaket nicht herunterladen und kannst die automatisch heruntergeladene Datei verwenden. Weitere Informationen findest du unter Prüfungen auf automatische Updates aktivieren.

  1. Melde dich über SSH bei Ihre GitHub Enterprise Server-Instance an. Wenn deine Instanz mehrere Knoten umfasst, wenn z. B. Hochverfügbarkeit oder Georeplikation konfiguriert ist, wird SSH im primären Knoten konfiguriert. Wenn du einen Cluster verwendest, kannst du SSH in einen beliebigen Knoten einfügen. Ersetzen Sie HOSTNAME durch den Hostnamen Ihrer Instanz bzw. durch den Hostnamen oder die IP-Adresse eines Knotens. Weitere Informationen findest du unter Auf die Verwaltungsshell (SSH) zugreifen.

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. Navigiere zur Seite „GitHub Enterprise Server-Releases“. Klicke neben dem Release, auf welches das Upgrade durchgeführt wird, auf Herunterladen, und klicke dann auf die Registerkarte Upgrade. Kopiere die URL für das Upgrade-Hotpackage (.hpkg-Datei).

  3. Lade das Upgradepaket mithilfe von curl auf Ihre GitHub Enterprise Server-Instance herunter:

    admin@HOSTNAME:~$ curl -L -O UPGRADE-PKG-URL
    
  4. Führe den ghe-upgrade-Befehl mithilfe des Paketdateinamens aus:

    admin@HOSTNAME:~$ ghe-upgrade GITHUB-UPGRADE.hpkg
    *** verifying upgrade package signature...
    
  5. Wenn mindestens eine Dienst- oder Systemkomponente einen Neustart erfordert, wirst du vom Upgradeskript für den Hotpatch benachrichtigt. Beispielsweise ist für Updates des Kernels, von MySQL oder von Elasticsearch ein Neustart erforderlich.

Aktualisieren einer Instanz mit mehreren Knoten mit einem Hotpatch

Zum Installieren eines Hotpatches musst du nicht in den Wartungsmodus wechseln oder die Replikation beenden.

Aktualisieren des primären Knotens mit einem Hotpatch

Anweisungen zum Aktualisieren des primären Knotens findest du unter Installieren eines Hotpatches mithilfe der Verwaltungsshell.

Aktualisieren weiterer Knoten mit einem Hotpatch

Um eine Instanz zu aktualisieren, die mehrere Knoten umfasst, z. B. eine Hochverfügbarkeits- oder Georeplikationskonfiguration, musst du das folgende Verfahren nacheinander auf jedem Replikatknoten wiederholen.

  1. Befolge zum Aktualisieren des Knotens die Anweisungen unter Installieren eines Hotpatches mithilfe der Verwaltungsshell.

  2. Stelle per SSH als Benutzer admin über Port 122 eine Verbindung mit dem Replikatknoten her:

    ssh -p 122 admin@REPLICA_HOST
    
  3. Führe Folgendes aus, um das Upgrade zu überprüfen:

    ghe-version
    
  4. Wiederhole die obigen Schritte für jeden zusätzlichen Knoten.