Skip to main content

Sichern und Wiederherstellen von GitHub Enterprise Server mit aktivierten GitHub Actions

Um eine Sicherung von Ihre GitHub Enterprise Server-Instance wiederherzustellen, wenn GitHub Actions aktiviert ist, musst du GitHub Actions konfigurieren, bevor du die Sicherung mit GitHub Enterprise Server Backup Utilities wiederherstellst.

Informationen zu Sicherungen von GitHub Enterprise Server bei Verwendung von GitHub Actions

Du kannst GitHub Enterprise Server Backup Utilities verwenden, um die Daten und die Konfiguration für Ihre GitHub Enterprise Server-Instance in einer neuen Instanz zu sichern und wiederherzustellen. Weitere Informationen findest du unter Konfigurieren von Sicherungen auf einer Instanz.

Allerdings sind nicht alle Daten für GitHub Actions in diesen Sicherungen enthalten. GitHub Actions verwendet externen Speicher zum Speichern von Workflowartefakten und Protokollen. Diese Daten werden bei deinem externen Anbieter gespeichert, z. B. Azure Blob Storage, Amazon S3, Google Cloud Storage oder MinIO. Folglich werden die in einem externen Speicher gespeicherten Daten nicht durch GitHub Enterprise Server-Sicherungen und GitHub Enterprise Server-Hochverfügbarkeitskonfigurationen geschützt, sondern hängen stattdessen von der Datensicherung und -replikation des externen Speicheranbieters wie Azure, Google Cloud oder AWS ab.

Wiederherstellen einer Sicherung von GitHub Enterprise Server, wenn GitHub Actions aktiviert ist

Um eine Sicherung von Ihre GitHub Enterprise Server-Instance mit GitHub Actions wiederherzustellen, musst du die Netzwerkeinstellungen und den externen Speicher auf der Zielinstanz manuell konfigurieren, bevor du deine Sicherung aus GitHub Enterprise Server Backup Utilities wiederherstellst.

  1. Vergewissere dich, dass die Quellinstanz offline ist.

  2. Führe eine manuelle Konfiguration der Netzwerkeinstellungen auf der GitHub Enterprise Server-Ersatzinstanz durch. Netzwerkeinstellungen sind aus der Sicherungsmomentaufnahme ausgeschlossen und werden von ghe-restore nicht überschrieben. Weitere Informationen findest du unter Konfigurieren von Netzwerkeinstellungen.

  3. Stelle eine SSH-Verbindung mit der Zielinstanz her. Weitere Informationen findest du unter Auf die Verwaltungsshell (SSH) zugreifen.

    Shell
    ssh -p 122 admin@HOSTNAME
    
  4. Konfiguriere die Zielinstanz so, dass sie denselben externen Speicherdienst für GitHub Actions verwendet wie die Quellinstanz, indem du einen der folgenden Befehle eingibst.

    • Azure Blob Storage:

      Shell
      ghe-config secrets.actions.storage.blob-provider "azure"
      
    • Amazon S3:

      Shell
      ghe-config secrets.actions.storage.blob-provider "s3"
      
    • Google Cloud Storage:

      Shell
      ghe-config secrets.actions.storage.blob-provider "gcs"
      ``` 1. Konfiguriere die Verbindung mit dem externen Speicher, indem du die folgenden Befehle eingibst und dabei die Platzhalterwerte durch die tatsächlichen Werte für deine Verbindung ersetzt.
      
      
    • Azure Blob Storage:

      Shell
      ghe-config secrets.actions.storage.azure.connection-string "CONNECTION STRING"
      
    • Amazon S3:

      Shell
      ghe-config secrets.actions.storage.s3.bucket-name "S3 BUCKET NAME"
      ghe-config secrets.actions.storage.s3.service-url "S3 SERVICE URL"
      ghe-config secrets.actions.storage.s3.access-key-id "S3 ACCESS KEY ID"
      ghe-config secrets.actions.storage.s3.access-secret "S3 ACCESS SECRET"
      

      Optional kannst du auch den folgenden Befehl eingeben, um die Adressierung von S3 im Pfadformat zu erzwingen.

      Shell
      ghe-config secrets.actions.storage.s3.force-path-style true
      
    • Google Cloud Storage:

      Shell
      ghe-config secrets.actions.storage.gcs.service-url "SERVICE URL"
      ghe-config secrets.actions.storage.gcs.bucket-name "BUCKET NAME"
      ghe-config secrets.actions.storage.gcs.access-key-id "HMAC ACCESS ID"
      ghe-config secrets.actions.storage.gcs.access-secret "HMAC SECRET"
      
  5. Um die Aktivierung von GitHub Actions auf der Zielinstanz vorzubereiten, gibst du den folgenden Befehl ein.

    Shell
    ghe-config app.actions.enabled true
    
  6. Um die Konfiguration anzuwenden und GitHub Actions die Verbindung mit deinem externen Speicheranbieter zu ermöglichen, gib den folgenden Befehl ein.

    Shell
    ghe-config-apply
    
  7. Nachdem GitHub Actions konfiguriert und aktiviert wurde, kannst du mit dem Befehl ghe-restore die übrigen Daten aus der Sicherung wiederherstellen. Weitere Informationen findest du unter Konfigurieren von Sicherungen auf einer Instanz.

  8. Registriere deine selbstgehosteten Runner auf der Zielinstanz neu. Weitere Informationen findest du unter Selbst-gehostete Runner hinzufügen.

  9. Um sicherzustellen, dass die in der neuen Instanz vorinstallierten gebündelten Aktionen auf dem neuesten Stand sind, geben Sie den folgenden Befehl ein.

    Shell
    ghe-config --unset 'app.actions.actions-repos-sha1sum'
    
    1. Führe den folgenden Befehl aus, um die Konfiguration anzuwenden.

      Note

      Während einer Konfigurationsausführung können die Dienste auf Ihre GitHub Enterprise Server-Instance neu gestartet werden, was zu kurzen Ausfallzeiten für Benutzer führen kann.

      Shell
      ghe-config-apply
      
    2. Warten Sie auf den Abschluss der Konfigurationsausführung.