Preparing to migrate data to your enterprise

Nachdem Sie ein Migrationsarchiv generiert haben, können Sie die Daten auf Ihrer GitHub Enterprise Server-Zielinstanz importieren. Sie können die Änderungen auf potenzielle Konflikte überprüfen, bevor Sie die Änderungen dauerhaft auf Ihre Zielinstanz anwenden.

Preparing the migrated data for import to GitHub Enterprise Server

  1. Kopieren Sie mit dem Befehl scp das auf Ihrer Quellinstanz oder in Ihrer Organisation generierte Migrationsarchiv auf Ihr GitHub Enterprise Server-Ziel:

    $ scp -P 122 /path/to/archive/MIGRATION_GUID.tar.gz admin@hostname:/home/admin/
  2. Stellen Sie als ein Websiteadministrator eine SSH-Verbindung zur GitHub Enterprise Server-Instanz her.

    $ ssh -p 122 admin@HOSTNAME
  3. Führen Sie den Befehl ghe-migrator prepare aus, um das Archiv auf den Import auf der Zielinstanz vorzubereiten und einen neuen Migrations-GUID zu generieren, den Sie in den nachfolgenden Schritten verwenden:

    ghe-migrator prepare /home/admin/MIGRATION_GUID.tar.gz
    • Führen Sie zum Starten eines neuen Importversuchs den Befehl ghe-migrator prepare erneut aus, und rufen Sie einen neuen Migrations-GUID ab.
    • Ergänze den Befehl mit --staging-path=/full/staging/path, um anzugeben, wo die Migrationsdateien vorgemerkt werden sollen. Der Standardwert lautet /data/user/tmp.

Liste mit Migrationskonflikten generieren

  1. Führen Sie den Befehl ghe-migrator conflicts mit dem Migrations-GUID aus, um die Datei conflicts.csv zu generieren:
    $ ghe-migrator conflicts -g MIGRATION_GUID > conflicts.csv
  2. Kopieren Sie bei vorliegenden Konflikten mithilfe des Befehls scp die Datei conflicts.csv auf Ihren lokalen Computer:
    $ scp -P 122 admin@hostname:conflicts.csv ~/Desktop
  3. Wechseln Sie zu „Migrationskonflikte beheben oder benutzerdefinierte Zuordnungen einrichten“.

Migrationskonflikte überprüfen

  1. Verwenden Sie einen Texteditor oder eine CSV-kompatible Tabellenkalkulationssoftware, um conflicts.csv zu öffnen.
  2. Überprüfen Sie die Datei conflicts.csv, um sicherzustellen, dass die entsprechenden Aktionen beim Import durchgeführt werden. Berücksichtigen Sie dazu die Anleitung aus den folgenden Beispielen und Referenztabellen.

Die Datei conflicts.csventhält eine Migrationszuordnung der Konflikte und empfohlenen Aktionen. Eine Migrationszuordnung listet auf, welche Daten von der Quellinstanz migriert werden und wie die Daten auf die Zielinstanz angewendet werden.

model_namesource_urltarget_urlrecommended_action
Benutzerhttps://example-gh.source/octocathttps://example-gh.target/octocatmap
Organisationhttps://example-gh.source/octo-orghttps://example-gh.target/octo-orgmap
Repositoryhttps://example-gh.source/octo-org/widgetshttps://example-gh.target/octo-org/widgetsrename
Teamhttps://example-gh.source/orgs/octo-org/teams/adminshttps://example-gh.target/orgs/octo-org/teams/adminsMerge

Jede Zeile in conflicts.csv enthält die folgenden Informationen:

NameBeschreibung
model_nameDer Typ der zu ändernden Daten.
source_urlDie Quell-URL der Daten.
target_urlDie erwartete Ziel-URL der Daten.
recommended_actionDie Aktion, die ghe-migrator beim Importieren der Daten bevorzugt durchführt.

Mögliche Zuordnungen für jeden Datensatztyp

Es gibt verschiedene Zuordnungsaktionen, die ghe-migrator beim Übertragen von Daten durchführen kann.

actionBeschreibungEntsprechende Modelle
import(Standard) Daten von der Quellinstanz werden auf die Zielinstanz importiert.Alle Datensatztypen
mapDaten von der Quellinstanz werden durch vorhandene Daten auf der Zielinstanz ersetzt.Benutzer, Organisationen, Repositorys
renameDaten von der Quellinstanz werden umbenannt und anschließend auf die Zielinstanz kopiert.Benutzer, Organisationen, Repositorys
map_or_renameBei Vorhandensein der Zielinstanz sollte die Zuordnung zur Zielinstanz erfolgen. Andernfalls sollte das importierte Modell umbenannt werden.Benutzer
MergeDaten von der Quellinstanz werden mit vorhandenen Daten auf der Zielinstanz kombiniert.Teams

We strongly suggest you review the conflicts.csv file and use ghe-migrator audit to ensure that the proper actions are being taken. If everything looks good, you can continue to "Migrating data to your enterprise".

Migrationskonflikte beheben und benutzerdefinierte Zuordnungen einrichten

Wenn Sie der Ansicht sind, dass der Befehl ghe-migrator eine falsche Änderung durchführt, können Sie Korrekturen vornehmen. Ändern Sie dazu die Daten in conflicts.csv. Sie können Änderungen an allen Zeilen in conflicts.csv vornehmen.

Angenommen, Sie stellen fest, dass der Benutzer octocat von der Quellinstanz dem Benutzer octocat auf der Zielinstanz zugeordnet ist:

model_namesource_urltarget_urlrecommended_action
Benutzerhttps://example-gh.source/octocathttps://example-gh.target/octocatmap

Sie können den Benutzer einem anderen Benutzer auf der Zielinstanz zuordnen. Angenommen, Sie wissen, dass octocat auf der Zielinstanz eigentlich monalisa heißen sollte. Sie können die Spalte target_url in conflicts.csv so ändern, dass auf monalisa verwiesen wird:

model_namesource_urltarget_urlrecommended_action
Benutzerhttps://example-gh.source/octocathttps://example-gh.target/monalisamap

Falls Sie darüber hinaus beispielsweise das Repository octo-org/widgets auf der Zielinstanz in octo-org/amazing-widgets umbenennen möchten, ändern Sie den Wert target_url in octo-org/amazing-widgets und den Wert recommend_action in rename:

model_namesource_urltarget_urlrecommended_action
Repositoryhttps://example-gh.source/octo-org/widgetshttps://example-gh.target/octo-org/amazing-widgetsrename

Benutzerdefinierte Zuordnungen hinzufügen

Während einer Migration geschieht es häufig, dass migrierte Benutzer andere Benutzernamen auf der Zielinstanz als auf der Quellinstanz besitzen.

Mit einer Liste der Benutzernamen von der Quellinstanz und einer Liste der Benutzernamen von der Zielinstanz können Sie eine CSV-Datei mit benutzerdefinierten Zuordnungen erstellen und anschließend anwenden, um sicherzustellen, dass der Benutzername und Inhalt jedes Benutzers am Ende einer Migration richtig zugeordnet werden.

Führen Sie den Befehl ghe-migrator audit aus, um im Handumdrehen eine CSV-Datei von Benutzern zu erstellen, die im CSV-Format migriert werden, das für die Anwendung benutzerdefinierter Zuordnungen erforderlich ist.

$ ghe-migrator audit -m user -g MIGRATION_GUID > users.csv

Nun können Sie diese CSV-Datei bearbeiten und eine neue URL für jeden Benutzer eingeben, den Sie zuordnen oder umbenennen möchten. Anschließend können Sie die vierte Spalte entsprechend so bearbeiten, dass sie map oder rename aufweist.

Um beispielsweise den Benutzer octocat auf der Zielinstanz https://example-gh.target in monalisa umzubenennen, würden Sie eine Zeile mit dem folgenden Inhalt erstellen:

model_namesource_urltarget_urlstate
Benutzerhttps://example-gh.source/octocathttps://example-gh.target/monalisarename

Mit demselben Prozess können Sie Zuordnungen für jeden Datensatz erstellen, der benutzerdefinierte Zuordnungen unterstützt. Weitere Informationen finden Sie in unserer Tabelle zu den „möglichen Zuordnungen für Datensätze“.

Geänderte Migrationsdaten anwenden

  1. After making changes, use the scp command to apply your modified conflicts.csv (or any other mapping .csv file in the correct format) to the target instance:

    $ scp -P 122 ~/Desktop/conflicts.csv admin@hostname:/home/admin/
  2. Re-map the migration data using the ghe-migrator map command, passing in the path to your modified .csv file and the Migration GUID:

    $ ghe-migrator map -i conflicts.csv  -g MIGRATION_GUID
  3. Wenn der Befehl ghe-migrator map -i conflicts.csv -g MIGRATION_GUID meldet, dass weiterhin Konflikte vorhanden sind, führen Sie den Prozess zum Beheben von Migrationskonflikten erneut aus.

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.