2. Erfüllen der Voraussetzungen

Azure DevOps Services

Bevor Sie ELM verwenden, stellen Sie sicher, dass die folgenden Anforderungen in Azure DevOps Services und GitHub Enterprise Cloud mit Data Residency erfüllt sind.

Anforderungen für Quell- und Ziel-Repositorys

  • Die Migration muss aus Azure DevOps Services (dev.azure.com) stammen. Azure DevOps Server wird nicht unterstützt.
  • Ein Ziel GitHub Enterprise Cloud mit Data Residency Enterprise (<enterprise>.ghe.com) muss bereits vorhanden sein.
  • Der Ziel-GitHub Repositoryname darf nicht verwendet werden.

Um die Azure DevOps Repository-GUID abzurufen, wählen Sie eine der folgenden Registerkarten aus:

az repos show --repository <repo-name> --query id -o tsv

Der Befehl gibt die Repository-GUID zurück. Speichern Sie sie für die Verwendung, wenn Sie die Migration starten.

Erforderliche Zugriffsberechtigungen

Azure DevOps Services

Anforderung Details
Enterprise Live Migration-Berechtigung Sie müssen die Berechtigung Enterprise Live Migrations: Manage Migrations auf Zulassen festgelegt haben, und zwar auf Repository-Ebene. Um dies zu überprüfen, wechseln Sie zu Project Einstellungen>Repositories>Security und bestätigen Sie, dass Ihre Gruppe oder Ihr Benutzerkonto über diese Berechtigung verfügt. Falls nicht, wenden Sie sich an Ihren Project Collection Administrator (PCA) oder Project Administrator (PA), um Zugriff anzufordern. Weitere Informationen finden Sie unter Festlegen von Git-Repositoryberechtigungen.
Verfügbarkeit selbst gehosteter Linux-Agent Wenn kein selbst gehosteter Linux-Agent verfügbar ist, muss ein PCA oder eine Person, die über die Berechtigung zum Verwalten der Agentwarteschlange verfügt, eine erstellen und registrieren.
Berechtigung zum Erstellen von Dienstverbindungen Ein Benutzer mit den entsprechenden Berechtigungen muss die Dienstverbindung für die Pipelineweiterleitung erstellen.

Installieren der Azure DevOps ELM-App aus GitHub Marketplace

Installieren Sie als GitHub Unternehmensadministrator die Azure DevOps ELM-App sowohl für Ihr Unternehmen als auch für die Zielorganisation.

  1. Gehe zu https://<enterprise>.ghe.com/apps/external-app/azure-devops-elm.

  2. Wählen Sie Ihr Zielunternehmen aus.

    Screenshot der Azure DevOps ELM-Installationsseite mit dem Zielunternehmen und Organisationen, die für die Auswahl verfügbar sind.

  3. Wählen Sie Installieren aus.

    Screenshot der Azure DevOps ELM Enterprise-Installationsseite mit der Migrationsberechtigung und Der Schaltfläche

  4. Kehren Sie zu https://<enterprise>.ghe.com/apps/external-app/azure-devops-elm, und wählen Sie dann Ihre Zielorganisation aus.

    Screenshot der Azure DevOps ELM-Installationsseite mit der Zielorganisation, die für die Auswahl verfügbar ist.

  5. Wählen Sie "Alle Repositorys>installieren" aus.

    Screenshot der Installationsseite Azure DevOps ELM-Organisation mit ausgewählter Option

Erforderliche Tools

Die Schritte in diesem Abschnitt verwenden die Befehlszeile. Installieren Sie die Azure CLI und die Azure DevOps CLI-Erweiterung auf dem Computer, den Sie zum Ausführen von Migrationsbefehlen verwenden.

  1. Installieren Sie die Azure CLI. Weitere Informationen finden Sie unter How to install the Azure CLI.

    Öffnen Sie z. B. Visual Studio Code, und führen Sie Folgendes aus:

    winget install -e --id Microsoft.AzureCLI
    
  2. Installieren Sie die Azure DevOps CLI-Erweiterung. Weitere Informationen finden Sie unter Get started with Azure DevOps CLI:

    az extension add -n azure-devops
    

    Die az devops migrations-Befehle sind Teil der standardmäßigen azure-devops-Erweiterung. Es gibt keine separate ELM-Erweiterung zu installieren.

  3. Überprüfen Sie die geladene Erweiterung:

    az devops migrations --help
    
  4. So aktualisieren Sie eine vorhandene Installation:

    az extension update -n azure-devops
    
  5. (Empfohlen) Legen Sie Ihre Azure DevOps Organisation als Standard fest, sodass jeder befehl migrations auf den richtigen Host ausgerichtet ist:

    az devops configure --defaults organization=https://dev.azure.com/<org>
    

    Wenn Sie diesen Schritt überspringen und Befehle aus einem Ordner ausführen, in dem die git Remote auf eine andere Organisation verweist, wählt die automatische Erkennung der CLI diese Remote anstelle Ihres --org Werts aus. Um es für einen einzelnen Befehl zu deaktivieren, fügen Sie --detect false hinzu.

Konfigurieren eines selbst gehosteten Linux-Agents

Verwenden Sie das Azure DevOps Portal, um einen Agentpool auszuwählen oder zu erstellen, und führen Sie dann die Agent-Setupskripts auf einem Linux-Computer aus.

  1. Wechseln Sie in Project Einstellungen zu Agent-Pools unter Pipelines, wählen Sie den Pool aus, den Sie für die Migration verwenden möchten, und speichern Sie den Poolnamen.

  2. Wenn Sie keinen Pool verwenden möchten, erstellen Sie einen selbst gehosteten Linux-Agent. Weitere Informationen finden Sie unter Deploy an Azure Pipelines Agent unter Linux. Die kurze Version:

    1. Vergewissern Sie sich, dass Sie über die Berechtigung zum Registrieren eines Agents verfügen. Wenn Sie PCA sind, haben Sie diesen Zugriff bereits.
    2. Wechseln Sie in Ihren Azure DevOps Organisationseinstellungen zu Pipelines>Agent pools.
    3. Wählen Sie den Standardpool oder Ihren selbst gehosteten Pool aus.
    4. Öffnen Sie die Registerkarte "Agents ", und wählen Sie "Neuer Agent" aus.
    5. Wählen Sie im Dialogfeld "Agent abrufen " Linux aus, und laden Sie den Agent herunter.
    6. Entpacken Sie den Agent auf Ihrem Linux-Computer in das Verzeichnis Ihrer Wahl, und wechseln Sie zu diesem Verzeichnis.
    7. Führen Sie ./config.sh aus und dann ./run.sh.

Important

Sie müssen einen Linux-basierten Agent verwenden. Windows-basierten und macOS-basierten Agents werden nicht unterstützt.

Überwachung aktivieren

ELM zeichnet Ereignisse im Migrationslebenszyklus im Azure-DevOps-Überwachungsprotokoll auf, einschließlich Start, Pause, Fortsetzen, geplantem Cutover und Abbrechen. Administratoren können diese Ereignisse unter "Organisationseinstellungen>überwachen" anzeigen.

Optionales Setup für Hybridszenarien

Verwenden Sie diesen Abschnitt, wenn Sie Azure DevOps nach der Migration weiterhin mit GitHub verwenden möchten.

Installieren von Azure Boards auf GitHub

Wenn Sie beabsichtigen, Azure Boards nach der Migration weiterhin zu verwenden, muss ein GitHub Unternehmensadministrator die Azure Boards-App in Ihrer GitHub Organisation installieren, bevor die Migration beginnt. Diese App ermöglicht es ELM, die Verbindung mit Boards herzustellen, damit Teams GitHub-Commits und Pull Requests mit Azure DevOps-Arbeitselementen verknüpfen können.

Um die Installation zu überprüfen, wechseln Sie zu https://<enterpriseUrl>/organizations/<orgName>/settings/installations und bestätigen Sie, dass Azure Boards aufgeführt ist. Wenn Azure Boards nicht aufgeführt ist, bitten Sie einen GitHub Unternehmensadministrator, die Azure Boards App im Unternehmens-App-Katalog zu installieren.

Erstellen Sie eine Serviceverbindung für die Neuverdrahtung der Pipeline

Wenn Sie beabsichtigen, Azure DevOps und GitHub in einem Hybridsetup zu verwenden und Ihr GitHub Repository mit Azure Pipelines zu verbinden, führen Sie diese Schritte aus, bevor Sie die Migration starten.

  1. Vergewissern Sie sich, dass die Azure Pipelines-App in Ihrem GitHub Unternehmen installiert ist.https://<enterpriseUrl>/organizations/<orgName>/settings/installations
  2. Wenn Azure Pipelines nicht aufgeführt ist, bitten Sie einen GitHub Unternehmensadministrator, die App zu installieren: https://<enterprise>.ghe.com/apps/external-app/azure-pipelines. Wählen Sie "Konfigurieren" aus, und stellen Sie sicher, dass der Repositoryzugriff auf alle Repositorys festgelegt ist.
  3. Wählen Sie in Azure DevOps unter Project Einstellungen "Dienstverbindungen" aus.
  4. Wählen Sie "Neue Dienstverbindung" aus, und wählen Sie GitHub Enterprise Cloud mit Data Residency aus.
  5. Fügen Sie Ihren GitHub URL- und Organisationsnamen hinzu, und wählen Sie dann "Autorisieren" aus.
  6. Fügen Sie einen Dienstverbindungsnamen hinzu, und wählen Sie dann "Speichern" aus.
  7. Öffnen Sie die von Ihnen erstellte Dienstverbindung, und kopieren Sie die ID. Sie benötigen diese ID für die Neuverkabelung der Pipeline.

Für die CLI-basierte Migration zu erfassende Werte

Verwenden Sie diese Checkliste, wenn Sie die Migration mit Azure DevOps CLI-Befehlen anstelle der benutzeroberfläche Azure DevOps starten und verwalten möchten.

Feld Example Ihr Wert
Azure DevOps Organisations-URL https://dev.azure.com/<org>
Azure DevOps Projektname MyProject
Name des Azure DevOps-Repositorys my-repo
Azure DevOps-Repository-GUID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Ziel-GitHub Organisations-URL https://<enterprise>.ghe.com/<org>
Ziel-Repositoryname MyProject-MyRepo
ID der Pipeline-Verbindung 9f6aa94e-xxxx-xxxx-xxxx-xxxx
Name des selbst gehosteten Linux-Agent-Pools <agent pool name>

Nächster Schritt