Preparing the GitHub Enterprise Server source instance
-
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.
-
Generiere ein Zugriffstoken mit den Bereichen
repo
undadmin:org
auf der GitHub Enterprise Server-Quellinstanz. -
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“.
-
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
-
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
- Hängen Sie beim Sperren des Repositorys dem Befehl
-
Geben Sie Ihren GitHub Enterprise Server-Benutzernamen ein, wenn Sie dazu aufgefordert werden:
Enter username authorized for migration: admin
-
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: **************
-
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 Schrittenghe-migrator add
undghe-migrator export
, umghe-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. -
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
-
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
-
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
.
- Ergänze den Befehl mit
-
Schließen Sie die Verbindung zu your GitHub Enterprise Server instance:
$ exit > logout > Connection to hostname closed.
-
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
-
To prepare the archived migration data for import into a GitHub Enterprise Server instance, see "Preparing to migrate data to your enterprise".