Über die Verwaltungsshell kannst du mit dem ghe-upgrade-Hilfsprogramm ein Upgradepaket installieren.
Wenn aufeinanderfolgende Upgrades von Featureversionen durchgeführt werden, muss sichergestellt werden, dass Hintergrundaufgaben abgeschlossen sind, bevor das nächste Upgrade auf eine neue Featureversion erfolgen kann. GitHub empfiehlt, vor dem zweiten Upgrade auf den Abschluss jeglicher Hintergrundupgradetasks zu warten. Weitere Informationen findest du unter Übersicht über den Upgradeprozess und Upgrade-Anforderungen.
Obwohl du einen Hotpatch verwenden kannst, um ein Upgrade auf den neuesten Patchrelease in einer Featureserie durchzuführen, musst du ein Upgradepaket verwenden, um ein Upgrade auf ein neueres Featurerelease durchzuführen. Wenn du beispielsweise ein Upgrade von 2.11.10 auf 2.12.4 durchführen möchtest, musst du ein Upgradepaket verwenden, da es sich um unterschiedliche Featureserien handelt.
Aktualisieren einer eigenständigen Instanz mit einem Upgradepaket
Hinweis
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 finden Sie unter Prüfungen auf automatische Updates aktivieren.
-
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 finden Sie unter Auf die Verwaltungsshell (SSH) zugreifen.
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME -
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. Wähle die geeignete Plattform aus, und kopiere die URL für das Upgradepaket (.pkg-Datei).
-
Lade das Upgradepaket mithilfe von
curlauf Ihre GitHub Enterprise Server-Instance herunter:admin@HOSTNAME:~$ curl -L -O UPGRADE-PKG-URL -
Aktiviere den Wartungsmodus, und warte, bis alle aktiven Prozesse auf der GitHub Enterprise Server-Instanz abgeschlossen sind. Weitere Informationen findest du unter Wartungsmodus aktivieren und planen.
Hinweis
Wenn du in einer Hochverfügbarkeitskonfiguration ein Upgrade des primären Knotens durchführst, sollte sich die Instanz bereits im Wartungsmodus befinden, sofern du die Anweisungen in Durchführen eines Upgrades des primären Knotens mit einem Upgradepaket befolgst.
-
Führe den
ghe-upgrade-Befehl mithilfe des Paketdateinamens aus:admin@HOSTNAME:~$ ghe-upgrade GITHUB-UPGRADE.pkg *** verifying upgrade package signature... -
Bestätige, dass du das Upgrade fortsetzen möchtest, und führe nach der Überprüfung der Paketsignatur einen Neustart durch. Das neue Root-Dateisystem schreibt in die sekundäre Partition, und die Instanz startet automatisch im Wartungsmodus neu:
*** applying update... This package will upgrade your installation to version VERSION-NUMBER Current root partition: /dev/xvda1 [VERSION-NUMBER] Target root partition: /dev/xvda2 Proceed with installation? [y/N] -
Optional kannst du während eines Upgrades auf ein Featurerelease den Status von Datenbankmigrationen mithilfe des Hilfsprogramms
ghe-migrationsüberwachen. Weitere Informationen findest du unter Befehlszeilenwerkzeuge. -
Nach dem Neustart der Instanz wird das Upgrade im Hintergrund fortgesetzt. Du kannst den Wartungsmodus erst beenden, wenn der Prozess abgeschlossen ist.
Verwende das Hilfsprogramm
ghe-check-background-upgrade-jobs, um den Status von Aufträgen im Hintergrund zu überprüfen. Wenn aufeinanderfolgende Upgrades vorgenommen werden, muss sichergestellt werden, dass Hintergrundaufträge abgeschlossen sind, bevor es mit dem nächsten Upgrade auf ein Feature-Release weitergehen kann.Weitere Informationen findest du unter Befehlszeilenwerkzeuge.
Zum Überwachen des Fortschritts der Konfigurationsausführung kann man die Ausgabe in
/data/user/common/ghe-config.loglesen. Beispielsweise können Sie das Log verfolgen, indem Sie den folgenden Befehl ausführen:tail -f /data/user/common/ghe-config.logDie Konfiguration wird im Hintergrund ausgeführt, und Sie müssen
ghe-config-applynicht explizit ausführen, es sei denn, ein Problem tritt auf.Warnung
Wenn Sie einen Knoten in einem Cluster mit mehreren Knoten aktualisieren, kann die Ausführung von
ghe-config-applyauf der Befehlszeile oder das Speichern von Einstellungen in der Verwaltungskonsole fehlschlagen und zu einem unvollständigen Upgrade führen, wenn nicht alle Knoten auf die gleiche Version aktualisiert werden. Verwenden Sie stattdessenghe-single-config-apply. -
Optional kannst du nach dem Upgrade zum Validieren eine IP-Ausnahmeliste konfigurieren, um den Zugriff auf eine bestimmte Liste von IP-Adressen zuzulassen. Weitere Informationen findest du unter Wartungsmodus aktivieren und planen.
-
Führe bei Upgrades einzelner Knoten alle Aufgaben nach dem Upgrade durch, einschließlich der Deaktivierung des Wartungsmodus, damit die Benutzer Ihre GitHub Enterprise Server-Instance verwenden können.
Hinweis
Nachdem du in einer Hochverfügbarkeitskonfiguration ein Upgrade einer Instanz durchgeführt hast, solltest du im Wartungsmodus bleiben, bis ein Upgrade sämtlicher Replikatknoten durchgeführt wurde und die Replikation aktuell ist. Weitere Informationen findest du unter Durchführen eines Upgrades zusätzlicher Knoten mit einem Upgradepaket.
Aktualisieren einer Instanz mit mehreren Knoten mit einem Upgradepaket
Um ein Upgrade einer GitHub Enterprise Server-Umgebung mit mehreren Knoten mithilfe eines Upgradepakets durchzuführen, musst du zunächst ein Upgrade des primären Knotens durchführen und warten, bis die Konfigurationsausführung erfolgreich abgeschlossen ist. Erst nachdem für den primäre Knoten ein vollständiges Upgrade durchgeführt und konfiguriert wurde, kannst du mit dem Upgrade von Replikaten oder zusätzlichen Knoten fortfahren. Der Versuch, andere Knoten zu upgraden, bevor der primäre Knoten abgeschlossen ist, führt zu Upgradefehlern.
-
[Aktualisieren des primären Knotens mit einem Upgradepaket](#upgrading-the-primary-node-with-an-upgrade-package) -
[Aktualisieren weiterer Knoten mit einem Upgradepaket](#upgrading-additional-nodes-with-an-upgrade-package)
Aktualisieren des primären Knotens mit einem Upgradepaket
Warnung
Wenn die Replikation angehalten wird und der primäre Rechner ausfällt, gehen alle Arbeiten vor dem Upgrade der Replik und dem erneuten Beginn der Replikation verloren.
-
Aktiviere auf dem primären Knoten den Wartungsmodus, und warte auf den Abschluss sämtlicher aktiver Prozesse. Weitere Informationen findest du unter Wartungsmodus aktivieren und planen.
-
Stelle per SSH als Benutzer
adminüber Port 122 eine Verbindung mit dem Replikatknoten her:ssh -p 122 admin@REPLICA_HOST -
Um die Replikation auf allen Knoten zu beenden, führst du auf jedem Knoten
ghe-repl-stopaus. Wenn mehrere Replikate vorhanden sind, kannst dughe-repl-stop-allstattdessen im primären Knoten ausführen. Dadurch wird die Replikation in einer einzigen Ausführung beendet. -
Befolge zum Aktualisieren des primären Knotens die Anweisungen unter Durchführen des Upgrades einer eigenständigen Instanz mithilfe eines Upgradepakets.
Weitere Knoten mit einem Upgradepaket aktualisieren.
-
Führe ein Upgrade des Knotens gemäß der Anweisungen unter Durchführen des Upgrades einer eigenständigen Instanz mithilfe eines Upgradepakets durch.
-
Stelle per SSH als Benutzer
adminüber Port 122 eine Verbindung mit dem Replikatknoten her:ssh -p 122 admin@REPLICA_HOST -
Führe Folgendes aus, um das Upgrade zu überprüfen:
ghe-version -
Führe zum Starten der Replikation auf dem Replikatknoten den Befehl
ghe-repl-startaus. Wenn mehrere Replikate vorhanden sind, führe alternativ stattdessenghe-repl-start-allim primären Knoten aus. Dadurch werden Replikationen in einer einzigen Ausführung gestartet. -
Führe
ghe-repl-statusauf dem Replikatknoten aus, um sicherzustellen, dass die Replikationsdienste ordnungsgemäß ausgeführt werden. Dieser Befehl gibt für alle DiensteOKzurück, wenn eine erfolgreiche Replikation verarbeitet wird und für das Replikat ein Upgrade durchgeführt wurde. Wenn der BefehlReplication is not runningzurückgibt, wird die Replikation möglicherweise noch gestartet. Warte ungefähr eine Minute, bevor dughe-repl-statuserneut ausführst.
Hinweis
-
Während der Neusynchronisierung kann
ghe-repl-statusanzeigen, dass die Replikation im Rückstand ist. Es wird möglicherweise die folgende Meldung angezeigt.CRITICAL: git replication is behind the primary by more than 1007 repositories and/or gists -
Wenn GitHub Actions für Ihre GitHub Enterprise Server-Instance aktiviert sind, wird möglicherweise eine Meldung wie folgt angezeigt. Diese Meldung wird erwartet, wenn die Replikation angehalten wird, da Wartungsmodus für die primäre Anwendung festgelegt wird. Sobald Wartungsodus nicht festgelegt ist, sollte diese Meldung gelöscht werden.
CRITICAL: mssql replication is down, didn't find Token_Configuration!
Wenn ghe-repl-status nicht OK zurückgegeben hat und die Erklärung nicht in der obigen Notiz aufgeführt ist, wenden Sie sich an GitHub Enterprise-Support. Weitere Informationen finden Sie unter GitHub-Support kontaktieren.
- Wiederhole die obigen Schritte für jeden zusätzlichen Knoten.
- Nachdem der letzte Replikatknoten aktualisiert und die erneute Synchronisierung beendet wurde, deaktivierst du den Wartungsmodus, damit die Benutzer*innen Ihre GitHub Enterprise Server-Instance verwenden können.