Skip to main content
Wir veröffentlichen regelmäßig Aktualisierungen unserer Dokumentation, und die Übersetzung dieser Seite ist möglicherweise noch nicht abgeschlossen. Aktuelle Informationen findest du in der englischsprachigen Dokumentation.

Vorbereiten der Migration von Daten zu GitHub Enterprise Server

Nachdem du ein Migrationsarchiv generiert hast, kannst du die Daten in deine GitHub Enterprise Server-Zielinstanz importieren. Du kannst die Änderungen auf potenzielle Konflikte überprüfen, bevor du die Änderungen dauerhaft auf deine Zielinstanz anwendest.

Vorbereiten der migrierten Daten für den Import in GitHub Enterprise Server

  1. Kopiere mithilfe des scp-Befehls das Migrationsarchiv, das über deine Quellinstanz oder Organisation generiert wurde, in dein GitHub Enterprise Server-Ziel:

    $ scp -P 122 PATH-TO-MIGRATION-GUID.tar.gz admin@HOSTNAME:/home/admin/
  2. Stelle als Websiteadministrator eine SSH-Verbindung mit deiner GitHub Enterprise Server-Zielinstanz her.

    $ ssh -p 122 admin@HOSTNAME
  3. Führe den Befehl ghe-migrator prepare aus, um das Archiv für den Import auf der Zielinstanz vorzubereiten, und generiere eine neue Migrations-GUID, die du in den nachfolgenden Schritten verwendest:

    ghe-migrator prepare /home/admin/MIGRATION-GUID.tar.gz
    • Führe ghe-migrator prepare erneut aus, und rufe eine neue Migrations-GUID ab, um einen neuen Importversuch zu starten.
    • 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.

Liste mit Migrationskonflikten generieren

  1. Verwende den ghe-migrator conflicts-Befehl mit der Migrations-GUID, um eine conflicts.csv-Datei zu generieren:
    $ ghe-migrator conflicts -g MIGRATION-GUID > conflicts.csv
  2. Verwende bei Konflikten den scp-Befehl, um conflicts.csv auf deinen lokalen Computer zu kopieren:
    $ scp -P 122 admin@HOSTNAME:conflicts.csv ~/Desktop
  3. Fahre mit Beheben von Migrationskonflikten oder Einrichten benutzerdefinierter Zuordnungen fort.

Migrationskonflikte überprüfen

  1. Öffne conflicts.csv mit einem Text-Editor oder einer CSV-kompatiblen Tabellensoftware.
  2. Überprüfe die Datei conflicts.csv, um sicherzustellen, dass beim Import die richtigen Aktionen ausgeführt werden. Berücksichtige dabei die Anleitung für die folgenden Beispiele und Verweistabellen.

Die conflicts.csv-Datei enthält eine Migrationszuordnung von Konflikten 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
userhttps://example-gh.source/octocathttps://example-gh.target/octocatmap
organizationhttps://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 bietet 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_actionBevorzugte Aktion, die ghe-migrator beim Importieren von Daten ausführt

Mögliche Zuordnungen für jeden Datensatztyp

Es gibt einige verschiedene Zuordnungsaktionen, die ghe-migrator beim Übertragen von Daten ausfü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*innen, Organisationen
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

Es wird dringend empfohlen, die conflicts.csv-Datei zu überprüfen und ghe-migrator audit zu verwenden, um sicherzustellen, dass die geeigneten Aktionen ausgeführt werden. Wenn alles wie gewünscht aussieht, kannst du mit Migrating data to GitHub Enterprise Server fortfahren.

Migrationskonflikte beheben und benutzerdefinierte Zuordnungen einrichten

Wenn du der Meinung bist, dass ghe-migrator eine nicht ordnungsgemäße Änderung vornimmt, kannst du Korrekturen vornehmen, indem du die Daten in conflicts.csv änderst. Du kannst an allen Zeilen in conflicts.csv Änderungen vornehmen.

Angenommen, du bemerkst, dass der Benutzer octocat aus der Quelle im Ziel octocat zugeordnet wird:

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

Du kannst den Benutzer einem anderen Benutzer auf der Zielinstanz zuordnen. Angenommen, du weißt, dass octocat im Ziel eigentlich monalisa sein sollte. Du kannst die target_url-Spalte in conflicts.csv so ändern, dass auf monalisa verwiesen wird:

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

Weiteres Beispiel: Wenn du das octo-org/widgets-Repository in octo-org/amazing-widgets in der Zielinstanz umbenennen möchtest, ändere target_url in octo-org/amazing-widgets und 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 kannst du 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.

Du kannst schnell eine CSV-Datei der migrierten Benutzer*innen im CSV-Format erstellen, die erforderlich ist, um benutzerdefinierte Zuordnungen mithilfe des ghe-migrator audit-Befehls anzuwenden:

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

Nun kannst du diese CSV-Datei bearbeiten und die neue URL für jeden Benutzerin eingeben, die du zuordnen oder umbenennen möchtest. Aktualisiere dann die vierte Spalte, damit map bzw. rename entsprechend vorliegt.

Um beispielsweise den Benutzer octocat in monalisa im Ziel https://example-gh.target umzubenennen, erstelle eine Zeile mit dem folgenden Inhalt:

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

Mit demselben Prozess kannst du Zuordnungen für jeden Datensatz erstellen, der benutzerdefinierte Zuordnungen unterstützt. Weitere Informationen findest du in der Tabelle zu möglichen Zuordnungen für Datensätze.

Geänderte Migrationsdaten anwenden

  1. Nachdem du Änderungen vorgenommen hast, verwende den Befehl scp, um deine bearbeitete conflicts.csv-Datei (oder eine beliebige andere .csv-Zuordnungsdatei im richtigen Format) auf die Zielinstanz anzuwenden:

    $ scp -P 122 ~/Desktop/conflicts.csv admin@HOSTNAME:/home/admin/
  2. Ordne die Migrationsdaten mithilfe des ghe-migrator map-Befehls neu zu. Übergib dazu den Pfad zu deiner bearbeiteten .csv-Datei und die Migrations-GUID:

    $ ghe-migrator map -i conflicts.csv  -g MIGRATION-GUID
  3. Wenn der ghe-migrator map -i conflicts.csv -g MIGRATION-GUID-Befehl berichtet, dass noch immer Konflikte bestehen, führe den Vorgang zum Beheben von Migrationskonflikten erneut durch.