Skip to main content

Vorbereiten der Migration von Azure DevOps zu GitHub

Planen Sie Ihre Migration, indem Sie Ihre Zeitachse verstehen, welche Daten migriert werden sollen, und Ihre Organisationsstruktur.

Bestimmen Sie, wie viel Sie migrieren müssen

Bestimme deinen Zeitplan, der weitgehend deinen Ansatz bestimmen wird. Als ersten Schritt zum Bestimmen deines Zeitplans machst du eine Bestandsaufnahme der zu migrierenden Elemente.

  • Anzahl von Repositorys
  • Anzahl der Pull Requests

Hinweis

Der Zeitplan für die Migration hängt weitgehend von der Anzahl der Pull Requests in einem Repository ab. Wenn Sie 1.000 Repositorys migrieren möchten und jedes Repository durchschnittlich über 100 Pullanforderungen verfügt, ist Ihre Migration wahrscheinlich sehr schnell. Wenn Sie nur 100 Repositorys migrieren möchten, aber die Repositorys jeweils über 75.000 Pullanforderungen im Durchschnitt verfügen, dauert die Migration viel länger und erfordert mehr Planung und Tests.

Wir empfehlen den inventory-report Befehl in der ADO2GH extension of the GitHub CLI. Dieser Befehl stellt eine Verbindung mit der Azure DevOps-API her und erstellt dann mehrere CSV-Dateien. repos.csv enthält Informationen zu Ihren Repositorys, einschließlich der Anzahl der Pullanforderungen.

Um die CSV-Dateien zu erstellen, verwenden Sie den folgenden Befehl, indem Sie YOUR_ADO_ORG durch Ihre Organisation bei Azure DevOps ersetzen.

Shell
gh ado2gh inventory-report --ado-org YOUR_ADO_ORG

Nachdem Sie die Repositorys inventarisieren, die Sie migrieren müssen, bewerten Sie Ihre Bestandsdaten im Hinblick auf Ihre gewünschte Zeitachse.

  • Wenn deine Organisation eine größere Anzahl von Änderungen verträgt, kannst du möglicherweise auch alle deine Repositorys gleichzeitig migrieren und so deine Migration in wenigen Tagen abschließen.
  • Wenn Sie Über Teams verfügen, die nicht gleichzeitig migrieren können, möchten Sie Möglicherweise Ihre Migrationen stapeln und an die Zeitachsen der Teams anpassen und ihren Migrationsaufwand erweitern.

Bestimmen der GitHub Organisationsstruktur

Planen Sie als Nächstes die Organisationsstruktur, die Sie in GitHub erstellen werden. ADO und GitHub haben verschiedene Möglichkeiten, die Arbeit eines Unternehmens zu organisieren.

  • ADO: Organisation > Teamprojekt > Repositorys
  • GitHub: Enterprise > Organisation > Repositorys

Nach der Migration zu GitHub" sollten Sie nur über ein Unternehmenskonto und eine kleine Anzahl von Organisationen verfügen, die sich im Besitz dieses Unternehmens befinden. Jede Organisation von ADO sollte einer einzigen Organisation auf GitHub entsprechen.

Hinweis

Das Konzept eines Teamprojekts, das zum Gruppieren von Repositorys in ADO verwendet wird, ist in GitHubnicht vorhanden. Es wird nicht empfohlen, für jedes Teamprojekt in ADO eine Organisation auf GitHub zu erstellen, da dies in einer großen Liste nicht gruppierter Repositories innerhalb jeder Organisation resultieren könnte. Du kannst jedoch den Zugriff auf Repositorygruppen verwalten, indem du Teams erstellst.

Wenn Sie Ihren Migrationsaufwand in Batches unterteilen möchten, kann ihnen die neue Struktur helfen, diese zu ermitteln. Wenn du in ADO mehrere Organisationen hast und die Repositorys jeder Organisation Batches mit angemessener Größe ergeben, solltest du die Batchverarbeitung nach Organisation in Betracht ziehen.

  1. Entscheide, wie deine neue Organisationsstruktur aussehen soll.
  2. Entscheide, ob du den Migrationsaufwand in kleinere Batches aufteilen musst.
  3. Bei einer Aufteilung musst du außerdem entscheiden, wie du die Migrationsvorgänge aufteilen möchtest.

Konfigurieren von Repositoryberechtigungen

Da Berechtigungen in GitHub anders funktionieren als in ADO, versucht GitHub Enterprise Importer nicht, Repository-Berechtigungen von ADO zu migrieren.

Wenn Sie ADO2GH CLI verwenden, werden in GitHub zwei Teams für jedes Teamprojekt in ADO erstellt. Jedem Team wird eine andere Zugriffsebene auf alle Repositorys gewährt, die aus dem Teamprojekt stammen.

MannschaftZugriff auf migrierte Repositorys
TEAM-PROJECT-WartungsteamMaintainer (Teambetreuer)
TEAM-PROJECT-AdministratorenAdministrator

Um Zugriff auf migrierte Repositorys zu gewähren, kannst du diesen Teams Personen hinzufügen. Sie können dies manuell auf GitHub oder wenn Sie die Teams während der Migration mit Azure Active Directory (AAD)-Gruppen verknüpfen möchten, indem Sie die Gruppenmitgliedschaft in AAD verwalten. Weitere Informationen zur manuellen Verwaltung der Teammitgliedschaft findest du unter Organisationsmitglieder zu einem Team hinzufügen.