Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.
Gehe zu
https://<enterprise>.ghe.com/apps/external-app/azure-devops-elm.Wählen Sie Ihr Zielunternehmen aus.
Wählen Sie Installieren aus.
Kehren Sie zu
https://<enterprise>.ghe.com/apps/external-app/azure-devops-elm, und wählen Sie dann Ihre Zielorganisation aus.
Wählen Sie "Alle Repositorys>installieren" aus.
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.
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.AzureCLIInstallieren Sie die Azure DevOps CLI-Erweiterung. Weitere Informationen finden Sie unter Get started with Azure DevOps CLI:
az extension add -n azure-devopsDie
az devops migrations-Befehle sind Teil der standardmäßigenazure-devops-Erweiterung. Es gibt keine separate ELM-Erweiterung zu installieren.Überprüfen Sie die geladene Erweiterung:
az devops migrations --helpSo aktualisieren Sie eine vorhandene Installation:
az extension update -n azure-devops(Empfohlen) Legen Sie Ihre Azure DevOps Organisation als Standard fest, sodass jeder befehl
migrationsauf 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
gitRemote auf eine andere Organisation verweist, wählt die automatische Erkennung der CLI diese Remote anstelle Ihres--orgWerts aus. Um es für einen einzelnen Befehl zu deaktivieren, fügen Sie--detect falsehinzu.
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.
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.
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:
- Vergewissern Sie sich, dass Sie über die Berechtigung zum Registrieren eines Agents verfügen. Wenn Sie PCA sind, haben Sie diesen Zugriff bereits.
- Wechseln Sie in Ihren Azure DevOps Organisationseinstellungen zu Pipelines>Agent pools.
- Wählen Sie den Standardpool oder Ihren selbst gehosteten Pool aus.
- Öffnen Sie die Registerkarte "Agents ", und wählen Sie "Neuer Agent" aus.
- Wählen Sie im Dialogfeld "Agent abrufen " Linux aus, und laden Sie den Agent herunter.
- Entpacken Sie den Agent auf Ihrem Linux-Computer in das Verzeichnis Ihrer Wahl, und wechseln Sie zu diesem Verzeichnis.
- Führen Sie
./config.shaus 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.
- Vergewissern Sie sich, dass die Azure Pipelines-App in Ihrem GitHub Unternehmen installiert ist.
https://<enterpriseUrl>/organizations/<orgName>/settings/installations - 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. - Wählen Sie in Azure DevOps unter Project Einstellungen "Dienstverbindungen" aus.
- Wählen Sie "Neue Dienstverbindung" aus, und wählen Sie GitHub Enterprise Cloud mit Data Residency aus.
- Fügen Sie Ihren GitHub URL- und Organisationsnamen hinzu, und wählen Sie dann "Autorisieren" aus.
- Fügen Sie einen Dienstverbindungsnamen hinzu, und wählen Sie dann "Speichern" aus.
- Ö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> |