Hallo, Entdecker! An dieser Seite wird aktiv gearbeitet, oder sie wird noch übersetzt. Die neuesten und genauesten Informationen finden Sie in unserer englischsprachigen Dokumentation.
Artikelversion: Enterprise Server 2.15

Diese Version von GitHub Enterprise wird eingestellt am Diese Version von GitHub Enterprise wurde eingestellt am 2019-10-16. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Upgrade von GitHub Enterprise Server

Führen Sie ein GitHub Enterprise Server-Upgrade durch, um die neuesten Features und Sicherheitsupdates zu erhalten.

In diesem Handbuch

Upgrade vorbereiten

  1. Bestimmen Sie eine Upgrade-Strategie, und wählen Sie eine Version aus, auf die das Upgrade durchgeführt werden soll. Weitere Informationen finden Sie unter „Upgrade-Anforderungen“.

  2. Wenn Sie ein Upgrade von GitHub Enterprise Server 2.14 auf 2.15 oder von 2.12 auf 2.13 vornehmen, laden Sie ein Migrationsskript herunter, und führen Sie es aus, um Ihre Webhook-Indizes zu ElasticSearch 5.6 zu migrieren. Weitere Informationen finden Sie unter „ElasticSearch-Indizes zu GitHub Enterprise Server 2.14 oder höher migrieren“.

  3. Erstellen Sie mit den GitHub Enterprise Server-Backup-Dienstprogramme ein neues Backup Ihrer primären Instanz. Weitere Informationen finden Sie in der „GitHub Enterprise Server-Backup-Dienstprogramme-Datei 'README.md'“.

  4. Wenn Sie mithilfe eines Upgrade-Pakets ein Upgrade durchführen, sollten Sie ein Wartungsfenster für GitHub Enterprise Server-Endbenutzer planen. Bei Verwendung eines Hotpatches muss der Wartungsmodus nicht verwendet werden.

    Hinweis: Das Wartungsfenster hängt vom Typ des Upgrades ab, das Sie ausführen. Für Upgrades mittels Hotpatch ist in der Regel kein Wartungsfenster erforderlich. Manchmal ist ein Neustart erforderlich, den Sie später durchführen können. Entsprechend dem Versionierungsschema von MAJOR.FEATURE.PATCH führen Patch-Veröffentlichungen mit einem Upgrade-Paket in der Regel zu weniger als fünf Minuten Ausfallzeit. Feature-Veröffentlichungen mit enthaltenen Datenmigrationen dauern anhand der Speicherleistung und der zu migrierenden Daten entsprechend länger. Weitere Informationen finden Sie unter „Wartungsmodus aktivieren und planen“.

Snapshot erstellen

Ein Snapshot ist ein Checkpoint einer virtuellen Maschine (VM) zu einem bestimmten Zeitpunkt. Es wird dringend empfohlen, ein Snapshot zu erstellen, bevor Sie Ihre virtuelle Maschine upgraden, damit Sie bei einem Fehlschlagen eines Upgrades Ihre VM auf den Snapshot zurücksetzen können. Wenn Sie ein Upgrade auf eine neue Feature-Veröffentlichung durchführen, müssen Sie einen VM-Snapshot erstellen. Wenn Sie ein Upgrade auf eine Patch-Veröffentlichung durchführen, können Sie die vorhandene Daten-Disk anhängen.

Es gibt zwei Snapshot-Typen:

Plattform Snapshot-Methode URL zur Snapshot-Dokumentation
Amazon AWS Disk https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html
Azure VM https://docs.microsoft.com/de-de/azure/backup/backup-azure-vms-first-look-arm
Hyper-V VM https://technet.microsoft.com/en-us/library/dd851843.aspx
Google Compute Engine Disk https://cloud.google.com/compute/docs/disks/create-snapshots
VMware VM https://pubs.vmware.com/vsphere-50/index.jsp#com.vmware.vsphere.vm_admin.doc_50/GUID-9720B104-9875-4C2C-A878-F1C351A4F3D8.html
XenServer VM https://support.citrix.com/article/CTX122978

Upgrade mit einem Hotpatch

You can upgrade GitHub Enterprise Server to the latest patch release using a hotpatch, which does not require a maintenance window and usually does not require a reboot. You can use hotpatching to upgrade to a newer patch release, but not a feature release. For example, you can upgrade from 2.10.1 to 2.10.5 because they are in the same feature series, but not from 2.10.9 to 2.11.0 because they are in a different feature series. Mit der Managementkonsole können Sie einen Hotpatch sofort installieren oder dessen Installation für einen späteren Zeitpunkt planen. An der Verwaltungsshell können Sie mit dem Dienstprogramm ghe-upgrade einen Hotpatch installieren. Weitere Informationen finden Sie unter „Upgrade-Anforderungen“.

Upgrade einer einzelnen Appliance mit einem Hotpatch durchführen

Hotpatch mit der Managementkonsole installieren

In Clusterumgebungen ist die Installation eines Hotpatches mittels Managementkonsole nicht verfügbar. Informationen zum Installieren eines Hotpatches in einer Clusterumgebung finden Sie unter „Hotpatch mit der Verwaltungsshell installieren“.

  1. Aktivieren Sie automatisch Updates. For more information, see "Enabling automatic updates."

  2. In the upper-right corner of any page, click .

    Raumschiffsymbol für den Zugriff auf die Einstellungen des Websiteadministrators

  3. In the left sidebar, click Managementkonsole.

    Managementkonsole tab in the left sidebar

  4. At the top of the Managementkonsole, click Updates.

    Updates menu item

  5. Verwenden Sie nach dem Download eines neuen Hotpatches das Dropdownmenü für das Installationspaket:

    • Wählen Sie zur sofortigen Installation Now (Jetzt) aus:
    • Wählen Sie für die spätere Installation ein späteres Datum aus.
      Dropdownmenü mit Hotpatch-Installationsdatum
  6. Klicken Sie auf Install (Installieren).

    Schaltfläche zum Installieren des Hotpatches

Hotpatch mit der Verwaltungsshell installieren

Note: If you've enabled automatic update checks, you don't need to download the upgrade package and can use the file that was automatically downloaded. For more information, see "Enabling automatic update checks."

  1. SSH into Ihre GitHub Enterprise Server-Instanz.

    $ ssh -p 122 admin@HOSTNAME
  2. Browse to the GitHub Enterprise Server Releases page. Next to the release you are upgrading to, click Download, then click the Upgrading tab. Kopieren Sie die URL für das Upgrade-Hotpackage (Datei .hpkg).

  3. Download the upgrade package to Ihre GitHub Enterprise Server-Instanz using curl:

    admin@HOSTNAME:~$ curl -L -O UPGRADE-PKG-URL
  4. Führen Sie den Befehl ghe-upgrade aus, und verwenden Sie dabei den Paketdateinamen:

    admin@HOSTNAME:~$ ghe-upgrade GITHUB-UPGRADE.hpkg*** verifying upgrade package signature...
  5. Wenn für den Kernel, MySQL, ElasticSearch oder andere Programme ein Neustart erforderlich ist, werden Sie vom Hotpatch-Upgrade-Skript dahingehend benachrichtigt.

Upgrade einer über Replikatinstanzen verfügenden Appliance mit einem Hotpatch durchführen

Für die Hochverfügbarkeit und Geo-Replikation konfigurierte Appliances verwenden zusätzlich zu den primären Instanzen Replikatinstanzen. Zum Upgraden dieser Appliances müssen Sie die primäre Instanz und alle Replikatinstanzen nacheinander upgraden.

Upgrade der primären Instanz durchführen
  1. Führen Sie ein Upgrade der primären Instanz durch. Befolgen Sie dazu die unter „Hotpatch mit der Verwaltungsshell installieren“ beschriebenen Anweisungen.
Upgrade einer Replikatinstanz durchführen

Hinweis: Wenn Sie als Teil der Geo-Replikation mehrere Replikatinstanzen ausführen, sollten Sie diese Prozedur für jede Replikatinstanz nacheinander wiederholen.

  1. Führen Sie ein Upgrade der Replikatinstanz durch. Befolgen Sie dazu die unter „Hotpatch mit der Verwaltungsshell installieren“ beschriebenen Anweisungen. Wenn Sie mehrere Replikate für die Geo-Replikation verwenden, müssen Sie diese Prozedur wiederholen, um für jedes Replikat nacheinander ein Upgrade durchzuführen.

  2. Connect to the replica instance over SSH as the "admin" user on port 122:

    $ ssh -p 122 admin@replica-host
  3. Verify the upgrade by running:

    $ ghe-version

Hotpatch-Installation rückgängig machen

If a hotpatch installation introduces any problems or unexpected behavior, you can use the ghe-upgrade --allow-patch-rollback command to install a regular upgrade package (.pkg) of the previous version.

Upgrade mit einem Upgrade-Paket

Obwohl Sie einen Hotpatch verwenden können, um ein Upgrade auf die neueste Patch-Veröffentlichung in einer Featureserie durchzuführen, müssen Sie ein Upgrade-Paket verwenden, um ein Upgrade auf eine neuere Feature-Veröffentlichung durchzuführen. Wenn Sie beispielsweise ein Upgrade von 2.11.10 auf 2.12.4 durchführen möchten, müssen Sie ein Upgrade-Paket verwenden, da es sich um unterschiedliche Featureserien handelt. Weitere Informationen finden Sie unter „Upgrade-Anforderungen“.

Upgrade einer einzelnen Appliance mit einem Upgrade-Paket durchführen

Note: If you've enabled automatic update checks, you don't need to download the upgrade package and can use the file that was automatically downloaded. For more information, see "Enabling automatic update checks."

  1. SSH into Ihre GitHub Enterprise Server-Instanz.

    $ ssh -p 122 admin@HOSTNAME
  2. Browse to the GitHub Enterprise Server Releases page. Next to the release you are upgrading to, click Download, then click the Upgrading tab. Wählen Sie die entsprechende Plattform aus, und kopieren Sie die URL für das Upgrade-Paket (Datei .pkg).

  3. Download the upgrade package to Ihre GitHub Enterprise Server-Instanz using curl:

    admin@HOSTNAME:~$ curl -L -O UPGRADE-PKG-URL
  4. Aktivieren Sie den Wartungsmodus, und warten Sie, bis alle aktiven Prozesse auf der GitHub Enterprise Server-Instanz abgeschlossen sind. Weitere Informationen finden Sie unter „Wartungsmodus aktivieren und planen“.

    Hinweis: Wenn Sie in einer Hochverfügbarkeitskonfiguration ein Upgrade der primären Appliance durchführen, sollte sich die Appliance bereits im Wartungsmodus befinden, sofern Sie die unter „Upgrade der primären Instanz durchführen“ beschriebenen Anweisungen befolgen.

  5. Führen Sie den Befehl ghe-upgrade aus, und verwenden Sie dabei den Paketdateinamen:

    admin@HOSTNAME:~$ ghe-upgrade GITHUB-UPGRADE.pkg*** verifying upgrade package signature...
  6. Bestätigen Sie, dass Sie das Upgrade fortsetzen möchten, und führen Sie 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-numberCurrent root partition: /dev/xvda1 [version-number]
    Target root partition:  /dev/xvda2
    Proceed with installation? [y/N]
  7. Deaktivieren Sie bei einzelnen Appliance-Upgrades den Wartungsmodus, damit Benutzer Ihre GitHub Enterprise Server-Instanz verwenden können.

    Hinweis: Wenn Sie in einer Hochverfügbarkeitskonfiguration ein Upgrade der Appliances durchführen, sollten Sie im Wartungsmodus bleiben, bis ein Upgrade sämtlicher Replikate durchgeführt wurde und die Replikation aktuell ist. Weitere Informationen finden Sie unter „Upgrade einer Replikatinstanz durchführen“.

Upgrade einer über Replikatinstanzen verfügenden Appliance mit einem Upgrade-Paket durchführen

Für die Hochverfügbarkeit und Geo-Replikation konfigurierte Appliances verwenden zusätzlich zu den primären Instanzen Replikatinstanzen. Zum Upgraden dieser Appliances müssen Sie die primäre Instanz und alle Replikatinstanzen nacheinander upgraden.

Upgrade der primären Instanz durchführen

Warnung: Wenn die Replikation angehalten wird, geht im Falle eines Fehlschlagens der primären Instanz die Arbeit verloren, die vor dem Upgrade des Replikats und dem Start der Replikation erledigt wird.

  1. Aktivieren Sie auf der primären Instanz den Wartungsmodus, und warten Sie auf den Abschluss sämtlicher aktiver Prozesse. For more information, see "Enabling maintenance mode."

  2. Connect to the replica instance over SSH as the "admin" user on port 122:

    $ ssh -p 122 admin@replica-host
  3. Führen Sie auf der Replikatinstanz oder auf allen Replikatinstanzen, falls Sie als Teil der Geo-Replikation mehrere Replikatinstanzen ausführen, den Befehl ghe-repl-stop zum Anhalten der Replikation aus.

  4. Führen Sie ein Upgrade der primären Instanz durch. Befolgen Sie dazu die unter „Upgrade einer einzelnen Appliance mit einem Upgrade-Paket durchführen“ beschriebenen Anweisungen.

Upgrade einer Replikatinstanz durchführen

Hinweis: Wenn Sie als Teil der Geo-Replikation mehrere Replikatinstanzen ausführen, sollten Sie diese Prozedur für jede Replikatinstanz nacheinander wiederholen.

  1. Führen Sie ein Upgrade der Replikatinstanz durch. Befolgen Sie dazu die unter „Upgrade einer einzelnen Appliance mit einem Upgrade-Paket durchführen“ beschriebenen Anweisungen. Wenn Sie mehrere Replikate für die Geo-Replikation verwenden, müssen Sie diese Prozedur wiederholen, um für jedes Replikat nacheinander ein Upgrade durchzuführen.

  2. Connect to the replica instance over SSH as the "admin" user on port 122:

    $ ssh -p 122 admin@replica-host
  3. Verify the upgrade by running:

    $ ghe-version
  4. On the replica instance, to start replication, run ghe-repl-start.

  5. On the replica instance, to make sure replication services are running correctly, run ghe-repl-status. This command will return OK for all services when a successful replication is in progress and the replica has upgraded. Wenn der Befehl Replication is not running zurückgibt, wird die Replikation möglicherweise noch gestartet. Warten Sie etwa eine Minute, bevor Sie ghe-repl-status erneut ausführen.

    Hinweis: Während die erneute Synchronisierung verarbeitet wird, gibt der Befehl „ghe-repl-status“ ggf. erwartete Meldungen dahingehend zurück, dass die Replikation im Rückstand ist. Zum Beispiel: CRITICAL: git replication is behind the primary by more than 1007 repositories and/or gists

    Falls der Befehl ghe-repl-status nicht den Wert OK zurückgibt, sollten Sie die folgenden Schritte befolgen, um die Replikation manuell neu zu starten.

    1. Führen Sie auf der Replikatinstanz den Befehl ghe-repl-setup <primary-instance-ip> erneut aus.

    2. On the replica instance, to start replication, run ghe-repl-start.

    3. On the replica instance, to make sure replication services are running correctly, run ghe-repl-status. This command will return OK for all services when a successful replication is in progress and the replica has upgraded.

  6. Deaktivieren Sie nach dem Upgrade-Abschluss des letzten Replikats und nach dem Abschluss der erneuten Synchronisierung den Wartungsmodus, damit Benutzer Ihre GitHub Enterprise Server-Instanz verwenden können.

Wiederherstellung nach einem fehlgeschlagenen Upgrade

Wenn ein Upgrade fehlschlägt oder unterbrochen wird, sollten Sie Ihre Instanz in ihren vorherigen Zustand zurücksetzen. Der entsprechende Prozess hängt vom Upgrade-Typ ab.

Rollback einer Patch-Veröffentlichung durchführen

Führen Sie den Befehl ghe-upgrade --allow-patch-rollback aus, um ein Rollback einer Patch-Veröffentlichung durchzuführen. Der Rollback wirkt sich nicht auf die Datenpartition aus, da Migrationen nicht mit Patch-Veröffentlichung ausgeführt werden. Weitere Informationen finden Sie unter „Befehlszeilenprogramme“.

Rollback einer Feature-Veröffentlichung durchführen

Um ein Rollback von einer Feature-Veröffentlichung durchzuführen, stellen Sie diese über einen VM-Snapshot wieder her, um sicherzustellen, dass die Root- und Datenpartitionen einen konsistenten Zustand aufweisen. Weitere Informationen finden Sie unter „Snapshot erstellen“.

Menschliche Unterstützung einholen

Sie können das Gesuchte nicht finden?

Kontakt