Vorbereiten der Quellinstanz von GitHub Enterprise Server
-
Verifiziere, dass du auf der GitHub Enterprise Server-Quelle ein Websiteadministrator bist. Dies ist die beste Möglichkeit zu überprüfen, ob SSH-Zugriff auf die Instanz möglich ist.
-
Generieren eines Zugriffstokens 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.
Exportieren der GitHub Enterprise Server-Quellrepositorys
Hinweis: Das Sperren eines Repositorys verhindert den gesamten Schreibzugriff auf das Repository. Einem gesperrten Repository können keine neuen Teams oder Mitarbeiter zugeordnet werden.
Wenn du eine Testversion ausführst, musst du das Repository nicht sperren. Wenn du Daten aus einem Repository migrierst, das gerade verwendet wird, empfiehlt GitHub die Sperrung des Repositorys. Weitere Informationen findest du unter Informationen zu „ghe-migrator“.
-
Melde dich über SSH bei GitHub.com 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 findest du unter Auf die Verwaltungsshell (SSH) zugreifen.
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME
-
Führe den Befehl
ghe-migrator add
mit der URL eines Repositorys aus, um das Repository auf den Export vorzubereiten:-
Füge zum Sperren des Repositorys
--lock
an den Befehl an. Wenn du einen Testlauf durchführst, ist--lock
nicht erforderlich.ghe-migrator add https://HOSTNAME/USERNAME/REPO-NAME --lock
-
Du kannst Dateianlagen ausschließen, indem du
--exclude_attachments
an den Befehl anfügst. 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, erstellst du eine Textdatei, in der die URL jedes Repositorys auf einer separaten Zeile aufgelistet wird, und führst den Befehl
ghe-migrator add
mit dem Flag-i
und dem Pfad zu deiner Textdatei aus.ghe-migrator add -i PATH/TO/YOUR/REPOSITORY_URL.txt
-
-
Gib deinen GitHub Enterprise Server-Benutzernamen ein, wenn du dazu aufgefordert wirst:
Enter username authorized for migration: admin
-
Wenn du ein personal access token angeben sollst, gib das Zugriffstoken ein, das du in Vorbereiten der Quellinstanz von GitHub Enterprise Server erstellt hast:
Enter personal access token: **************
-
Nach Abschluss des Befehls
ghe-migrator add
werden di eindeutige zum Identifizieren dieses Exports generierte „Migrations-GUID“ und eine Liste der dem Export hinzugefügten Ressourcen ausgegeben. Du verwendest die generierte Migrations-GUID in den nachfolgenden Schrittenghe-migrator add
undghe-migrator export
, umghe-migrator
anzuweisen, mit demselben Export fortzufahren.> 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 du ein neues Repository mit einem vorhandenen Migrations-GUID hinzufügst, wird der vorhandene Export aktualisiert. Wenn du
ghe-migrator add
erneut ausführst, ohne eine Migrations-GUID anzugeben, wird ein neuer Export gestartet, und es wird auch eine neue Migrations-GUID generiert. Verwende nicht die während eines Exports generierte Migrations-GUID, wenn du deine Migration auf den Import vorbereitest. -
Um demselben Export weitere Repositorys hinzuzufügen, verwendest du den Befehl
ghe-migrator add
mit dem Flag-g
. Du übergibst die URL des neuen Repositorys und den Migrations-GUID aus Schritt 5:ghe-migrator add https://HOSTNAME/USERNAME/OTHER-REPO-NAME -g MIGRATION-GUID --lock
-
Generiere nach dem Hinzufügen der Repositorys mit dem Befehl
ghe-migrator export
und dem Flag-g
sowie der Migrations-GUID aus Schritt 5 das Migrationsarchiv:$ ghe-migrator export -g MIGRATION-GUID > Archive saved to: /data/github/current/tmp/MIGRATION-GUID.tar.gz
- Um anzugeben, wo Migrationsdateien gestaget werden sollen, füge dem Befehl
--staging-path=/full/staging/path
an. Wird standardmäßig auf/data/user/tmp
festgelegt.
- Um anzugeben, wo Migrationsdateien gestaget werden sollen, füge dem Befehl
-
Trenne die Verbindung mit GitHub.com:
$ exit > logout > Connection to HOSTNAME closed.
-
Kopiere das Migrationsarchiv mithilfe des Befehls
scp
auf deinen Computer. Die Archivdatei wird mit dem Migrations-GUID benannt:scp -P 122 admin@HOSTNAME:/data/github/current/tmp/MIGRATION-GUID.tar.gz ~/Desktop
-
Informationen zum Vorbereiten der archivierten Migrationsdaten für den Import in eine GitHub Enterprise Server-Instanz findest du unter Migrieren von Daten zu GitHub Enterprise Server.