Exporting migration data from your enterprise

To change platforms or move from a trial instance to a production instance, you can export migration data from a GitHub Enterprise Server instance by preparing the instance, locking the repositories, and generating a migration archive.

Preparing the GitHub Enterprise Server source instance

  1. Verifizieren Sie, dass Sie auf der GitHub Enterprise Server-Quelle ein Websiteadministrator sind. Dazu empfiehlt es sich zu verifizieren, dass Sie eine SSH-Verbindung zur Instanz herstellen können.

  2. Generiere ein Zugriffstoken mit den Bereichen repo und admin:org auf der GitHub Enterprise Server-Quellinstanz.

  3. Erstelle zum Minimieren der Ausfallzeit eine Liste der Repositorys, die Du von der Quellinstanz exportieren möchtest. Du kannst mehrere Repositorys gleichzeitig zu einem Export hinzufügen. verwende dazu eine Textdatei, in der die URL jedes Repositorys in einer separaten Zeile aufgelistet wird.

Exporting the GitHub Enterprise Server source repositories

Note: Locking a repository prevents all read or write access to the repository. You cannot associate new teams or collaborators with a locked repository. If you're performing a trial run, you do not need to lock the repository. When you migrate data from a repository that's in use,

GitHub strongly recommends locking the repository. Weitere Informationen finden Sie unter „Informationen zu Migrationen“.

  1. Stellen Sie eine SSH-Verbindung zu your GitHub Enterprise Server instance her. Weitere Informationen findest Du unter "Auf die administrative Shell (SSH) zugreifen."

    $ ssh -p 122 admin@HOSTNAME
  2. Führen Sie den Befehl ghe-migrator add mit der URL des Repositorys aus, um ein Repository auf den Export vorzubereiten:

    • Hängen Sie beim Sperren des Repositorys dem Befehl --lock an. Wenn Sie einen Probelauf ausführen, ist --lock nicht erforderlich.
      $ ghe-migrator add https://hostname/username/reponame --lock
    • Dateianhänge können ausgeschlossen werden. Hängen Sie dazu dem Befehl --exclude_attachments an. Dateianhänge können groß sein und blähen Ihr endgültiges Migrationsarchiv ggf. unnötig auf.
    • Um mehrere Repositorys gleichzeitig für den Export vorzubereiten, erstellen Sie eine Textdatei, in der die URL jedes Repositorys in einer separaten Zeile aufgelistet wird, und führen Sie den Befehl ghe-migrator add mit dem Flag -i und dem Pfad zu Ihrer Textdatei aus.
      $ ghe-migrator add -i PATH/TO/YOUR/REPOSITORY_URLS.txt
  3. Geben Sie Ihren GitHub Enterprise Server-Benutzernamen ein, wenn Sie dazu aufgefordert werden:

    Enter username authorized for migration:  admin
  4. Geben Sie das unter „GitHub Enterprise Server-Quellinstanz vorbereiten“ von Ihnen erstellte Zugriffstoken ein, wenn Sie zur Eingabe eines persönlichen Zugriffstokens aufgefordert werden:

    Enter personal access token:  **************
  5. Nach Abschluss des Befehls ghe-migrator add werden der eindeutige zum Identifizieren dieses Exports generierte „Migrations-GUID“ und eine Liste der dem Export hinzugefügten Ressourcen ausgegeben. Diesen generierten Migrations-GUID verwenden Sie in den nachfolgenden Schritten ghe-migrator add und ghe-migrator export, um ghe-migrator anzuweisen, weiterhin am selben Export zu arbeiten.

    > 101 models added to export
    > Migration GUID: example-migration-guid
    > Number of records in this migration:
    > users                        |  5
    > organizations                |  1
    > repositories                 |  1
    > teams                        |  3
    > protected_branches           |  1
    > pull_request_reviews         |  1
    > milestones                   |  1
    > issues                       |  3
    > pull_requests                |  5
    > pull_request_review_comments |  4
    > commit_comments              |  2
    > issue_comments               | 10
    > issue_events                 | 63
    > releases                     |  3
    > attachments                  |  4
    > projects                     |  2

    Sobald Sie ein neues Repository mit einem vorhandenen Migrations-GUID hinzufügen, wird der vorhandene Export aktualisiert. Wenn Sie ghe-migrator add erneut ausführen, ohne einen Migrations-GUID zu verwenden, wird ein neuer Export gestartet und ein neuer Migrations-GUID generiert. Verwenden Sie nicht den während eines Exports generierten Migrations-GUID, wenn Sie Ihre Migration auf den Import vorbereiten.

  6. Falls Sie das Quell-Repository gesperrt haben, können Sie den Befehl ghe-migrator target_url ausführen, um eine benutzerdefinierte Sperrmeldung auf der Repository-Seite festzulegen, die auf den neuen Speicherort des Repositorys verweist. Geben Sie die URL des Quell-Repositorys, die URL des Ziel-Repositorys und den Migrations-GUID aus Schritt 5 weiter:

    $ ghe-migrator target_url https://hostname/username/reponame https://target_hostname/target_username/target_reponame -g MIGRATION_GUID
  7. Führen Sie den Befehl ghe-migrator add mit dem Flag -g aus, um demselben Export weitere Repositorys hinzuzufügen. Sie übergeben die URL des neuen Repositorys und den Migrations-GUID aus Schritt 5:

    $ ghe-migrator add https://hostname/username/other_reponame -g MIGRATION_GUID --lock
  8. Generieren Sie nach dem Hinzufügen der Repositorys mit dem Befehl ghe-migrator export und dem Flag -g sowie dem Migrations-GUID aus Schritt 5 das Migrationsarchiv:

    $ ghe-migrator export -g MIGRATION_GUID
    > Archive saved to: /data/github/current/tmp/MIGRATION_GUID.tar.gz
    • Ergänze den Befehl mit --staging-path=/full/staging/path, um anzugeben, wo die Migrationsdateien vorgemerkt werden sollen. Der Standardwert lautet /data/user/tmp.
  9. Schließen Sie die Verbindung zu your GitHub Enterprise Server instance:

    $ exit
    > logout
    > Connection to hostname closed.
  10. Führen Sie den Befehl scp aus, um das Migrationsarchiv auf Ihren Computer zu kopieren. Die Archivdatei wird mit dem Migrations-GUID benannt:

    $ scp -P 122 admin@hostname:/data/github/current/tmp/MIGRATION_GUID.tar.gz ~/Desktop
  11. To prepare the archived migration data for import into a GitHub Enterprise Server instance, see "Preparing to migrate data to your enterprise".

Did this doc help you?Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Oder, learn how to contribute.