Skip to main content

Diese Version von GitHub Enterprise Server wurde eingestellt am 2024-07-09. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für bessere Leistung, verbesserte Sicherheit und neue Features aktualisiere auf die neueste Version von GitHub Enterprise Server. Wende dich an den GitHub Enterprise-Support, um Hilfe zum Upgrade zu erhalten.

Migrieren von Repositorys von Azure DevOps zu GitHub Enterprise Cloud

Du kannst Repositorys von Azure DevOps zu GitHub Enterprise Cloud migrieren, indem du die GitHub CLI oder die GraphQL-API verwendest.

Tool navigation

Informationen zu Repositorymigrationsvorgängen mit GitHub Enterprise Importer

Du kannst deine Migration entweder mit der GitHub CLI oder mit der API ausführen.

Die GitHub CLI vereinfacht den Migrationsprozess und wird für die meisten Kundinnen empfohlen. Fortgeschrittene Kundinnen, die viele Anpassungen vornehmen müssen, können die API verwenden, um eigene Integrationen mit dem GitHub Enterprise Importer zu erstellen.

Um Anweisungen für die Verwendung der API anzuzeigen, verwendest du den Toolumschalter oben auf der Seite.

Voraussetzungen

  • Es wird dringend empfohlen, einen Testlauf deiner Migration durchzuführen und die Produktionsmigration bald danach abzuschließen. Mehr über Testläufe erfahren Sie unter Übersicht über die Migration von Azure DevOps zu GitHub Enterprise Cloud.
  • Stellen Sie sicher, dass Sie die zu migrierenden Daten und die bekannten Supportbeschränkungen des Importer verstehen. Weitere Informationen finden Sie unter Informationen zu Migrationen von Azure DevOps zu GitHub Enterprise Cloud.
  • Es ist zwar nicht erforderlich, die Arbeit während der Produktionsmigration zu unterbrechen, es wird aber empfohlen. Der Importer unterstützt keine Deltamigrationen, sodass Änderungen, die während der Migration vorgenommen werden, nicht migriert werden. Wenn du dich dafür entscheidest, die Arbeit während der Produktionsmigration nicht zu unterbrechen, musst du diese Änderungen manuell migrieren.
  • Für die Zielorganisation auf GitHub.com musst du Organisationsbesitzer*in sein oder über die Migratorrolle verfügen. Weitere Informationen zur Migrationsrolle findest du unter Verwalten des Zugriffs für eine Migration von Azure DevOps.

Schritt 1: Installieren der ADO2GH extension of the GitHub CLI

Wenn dies deine erste Migration ist, musst du die ADO2GH extension of the GitHub CLI installieren. Weitere Informationen zur GitHub CLI findest du unter Informationen zur GitHub CLI.

Alternativ können Sie eine eigenständige Binärdatei von der Veröffentlichungsseite für das github/gh-ado2gh-Repository herunterladen. Sie können diese Binärdatei direkt ohne das gh-Präfix ausführen.

  1. Installiere die GitHub CLI. Installationsanweisungen für GitHub CLI findest du im GitHub CLI-Repository.

    Hinweis: Du benötigst Version 2.4.0 oder höher der GitHub CLI. Die installierte Version kannst du mit dem Befehl gh --version ermitteln.

  2. Installiere die ADO2GH extension.

    Shell
    gh extension install github/gh-ado2gh
    

Wenn du Hilfe zur ADO2GH extension benötigst, kannst du immer das Flag --help mit einem Befehl verwenden. Mit gh ado2gh --help listest du z. B. alle verfügbaren Befehle auf, und mit gh ado2gh migrate-repo --help zeigst du alle Optionen an, die für den Befehl migrate-repo verfügbar sind.

Schritt 2: Aktualisieren der ADO2GH extension of the GitHub CLI

Die ADO2GH extension of the GitHub CLI wird wöchentlich aktualisiert. Aktualisieren die Erweiterung, um sicherzustellen, dass du die neueste Version verwendest.

Shell
gh extension upgrade github/gh-ado2gh

Schritt 3: Festlegen der Umgebungsvariablen

Bevor du die ADO2GH extension zum Migrieren zu GitHub Enterprise Cloud verwenden kannst, musst du personal access token erstellen, die auf die Quell- und Zielorganisationen zugreifen können, und dann die personal access token als Umgebungsvariablen festlegen.

  1. Erstelle ein personal access token für die Authentifizierung der Zielorganisation auf GitHub Enterprise Cloud, und stelle sicher, dass das Token alle Anforderungen erfüllt. Weitere Informationen findest du unter Verwalten des Zugriffs für eine Migration von Azure DevOps.

  2. Erstelle ein personal access token für die Authentifizierung der Quellorganisation in Azure DevOps, und stelle sicher, dass dieses Token alle Anforderungen erfüllt. Weitere Informationen findest du unter Verwalten des Zugriffs für eine Migration von Azure DevOps.

  3. Lege Umgebungsvariablen für die personal access token fest, und ersetze in den folgenden Befehlen TOKEN durch die personal access token, die du oben gespeichert hast. Verwende das GH_PAT für die Zielorganisation und das ADO_PAT für die Quellorganisation.

    • Wenn du ein Terminal verwendest, führe den Befehl export aus.

      Shell
      export GH_PAT="TOKEN"
      export ADO_PAT="TOKEN"
      
    • Wenn du PowerShell verwendest, führe den Befehl $env aus.

      Shell
      $env:GH_PAT="TOKEN"
      $env:ADO_PAT="TOKEN"
      

Schritt 4: Generieren eines Migrationsskripts

Wenn du mehrere Repositorys gleichzeitig zu GitHub Enterprise Cloud migrieren möchtest, verwendest du die GitHub CLI, um ein Migrationsskript zu generieren. Das resultierende Skript enthält eine Liste von Migrationsbefehlen (einen pro Repository).

Hinweis: Beim Generieren eines Skripts wird ein PowerShell-Skript ausgegeben. Wenn du ein Terminal verwendest, musst du das Skript mit der Erweiterung .ps1 ausgeben und PowerShell für Mac oder Linux installieren, um es auszuführen.

Wenn du ein einzelnes Repository migrieren möchtest, fahre mit dem nächsten Schritt fort.

Generieren eines Migrationsskripts

Führe den Befehl gh ado2gh generate-script aus, um ein Migrationsskript zu generieren.

Shell
gh ado2gh generate-script --ado-org SOURCE --github-org DESTINATION --output FILENAME

Um dem Skript zusätzliche Funktionen hinzuzufügen, z. B. das erneute Verkabeln von Pipelines, Erstellen von Teams und Konfigurieren von Azure Boards-Integrationen, kannst du das --all-Flag hinzufügen.

Wenn das Skript das Migrationsprotokoll für jedes migrierte Repository herunterladen soll, fügst du das Flag --download-migration-logs hinzu. Weitere Informationen zu Migrationsprotokollen findest du unter Zugreifen auf die Migrationsprotokolle für GitHub Enterprise Importer.

Ersetze die Platzhalter im obigen Befehl durch die folgenden Werte.

PlatzhalterWert
SOURCEName der Ursprungsorganisation
DESTINATIONName der Zielorganisation
FILENAMEEin Dateiname für das resultierende Migrationsskript

Wenn du das Terminal verwendest, legst du als Erweiterung .ps1 fest, da für das generierte Skript PowerShell ausgeführt werden muss. Du kannst PowerShell für Mac oder Linux installieren.

Überprüfen des Migrationsskripts

Nachdem du das Skript generiert hast, überprüfst du die Datei, und bearbeitest ggf. das Skript.

  • Wenn du einige Repositorys nicht migrieren möchtest, kannst du die entsprechenden Zeilen löschen oder auskommentieren.
  • Wenn Repositorys in der Zielorganisation einen anderen Namen erhalten sollen, aktualisiere den Wert für das entsprechende Flag --target-repo.

Wenn Sie ADO2GH als eigenständige Binärdatei heruntergeladen haben und nicht als Erweiterung für die GitHub CLI, müssen Sie das generierte Skript aktualisieren, um die Binärdatei anstelle von gh ado2gh auszuführen.

Schritt 5: Migrieren von Repositorys

Mit dem Befehl gh ado2gh migrate-repo kannst mehrere Repositorys mit einem Migrationsskript oder einem einzelnen Repository migrieren.

Migrieren mehrerer Repositorys

Führe das oben generierte Skript aus, um mehrere Repositorys zu migrieren. Ersetze FILENAME in den folgenden Befehlen durch den Dateinamen, den du beim Generieren des Skripts angegeben hast.

  • Wenn du ein Terminal verwendest, gibst du ./ ein.

    Shell
    ./FILENAME
    
  • Wenn du PowerShell verwendest, gibst du .\ ein.

    Shell
    .\FILENAME
    

Migrieren eines einzelnen Repositorys

Verwende den Befehl gh ado2gh migrate-repo, um ein einzelnes Repository zu migrieren.

Shell
gh ado2gh migrate-repo --ado-org SOURCE --ado-team-project TEAM-PROJECT --ado-repo CURRENT-NAME --github-org DESTINATION --github-repo NEW-NAME

Ersetze die Platzhalter im obigen Befehl durch die folgenden Werte.

PlatzhalterWert
SOURCEName der Ursprungsorganisation
CURRENT-NAMEDer Name des Repositorys, das du migrieren möchtest
DESTINATIONName der Zielorganisation
NEW-NAMEDer Name für das migrierte Repository
TEAMPROJEKTName des Teamprojekts des Repositorys, das du migrieren möchtest

Wenn Sie eine Migration abbrechen möchten, verwenden Sie den Befehl abort-migration und ersetzen Sie die MIGRATIONS-ID durch die zurückgesendete ID migrate-repo.

Shell
gh ado2gh abort-migration --migration-id MIGRATION-ID

Schritt 6: Überprüfen der Migration und des Fehlerprotokolls

Nachdem die Migration abgeschlossen ist, solltest du das Migrationsprotokoll überprüfen. Weitere Informationen findest du unter Zugreifen auf die Migrationsprotokolle für GitHub Enterprise Importer.

Es wird empfohlen, die Integrität deiner migrierten Repositorys zu überprüfen.

Zum Aktivieren ALT+NACH-OBEN-TASTE drücken