ENTERPRISE Live Migration (ELM) CLI-Referenz

Azure DevOps Services

In diesem Artikel werden die Azure DevOps CLI-Befehle und -Parameter aufgeführt, die Sie zum Ausführen von Enterprise Live-Migrationen (ELM) verwenden, zusammen mit Status- und Phasenwerten, die die CLI während einer Migration zurückgibt.

Commands

Migrationsbefehle

Befehl Erforderliche Parameter Optionale Parameter HTTP Description
list --org --project, --include-all--detect GET Migrationen auflisten. Standardmäßig gibt die CLI nur die aktive Migration für jedes Repository zurück. Wird --include-all verwendet, um abgeschlossene, fehlgeschlagene und angehaltene Migrationen einzuschließen.
status --org, --repository-id --detect GET Erhalten Sie detaillierten Status für eine Migration.
create --org, , --repository-id--target-repository--agent-pool --target-owner-user-id, --service-endpoint-id, , --validate-only--github-token, --cutover-date, --skip-validation, --enable-boards-github-connection, , , --enable-auto-discover-pipelines, , --pipeline-service-connection-id--detect POST Erstellen Sie eine neue Migration. Wenn Sie nicht bestehen--service-endpoint-id, überprüft ELM_GITHUB_TOKEN die CLI und führt dann GitHub Gerätefluss aus, um sich beim Ziel zu authentifizieren.
pause --org, --repository-id --detect PUT Anhalten einer aktiven Migration.
resume --org, --repository-id --validate-only, --migration--detect PUT Fortsetzen einer beendeten Migration.
cutover set --org, --repository-id--date --detect PUT Planen Sie ein Übernahmedatum und eine Uhrzeit. Der Wert muss in Zukunft sein.
cutover cancel --org, --repository-id --detect PUT Abbrechen einer geplanten Übernahme. Nur gültig, während die Phase ist Synchronization; abgelehnt, sobald die Phase fortschreitet Cutover. Sendet den DateTimeOffset.MinValue Sentinel (0001-01-01T00:00:00+00:00) da der Server ignoriertnull.scheduledCutoverDate
cutover review --org, --repository-id --detect GET Auflisten nicht verarbeiteter Elemente und Pipelineüberprüfungsanforderungen, die auf die Genehmigung warten.
cutover approve --org, --repository-id --accept-failures, --pipelines-verified--detect PUT Genehmigen Sie die Übernahme, indem Sie nicht verarbeitete Elemente akzeptieren und/oder neu verkabelte Pipelines überprüfen. Liefern Sie mindestens einen von --accept-failures oder --pipelines-verified. Unwiderruflich – keine Widerrufs-API; wiederherstellen mit abandon + neu erstellen.
abandon --org, --repository-id --remove-read-only, --yes--detect Löschen Verlassen Sie eine Migration. Der Migrationsdatensatz wird nicht gelöscht, und die Pipelineweiterleitung wird beibehalten, sodass eine spätere Migration sie wiederverwenden kann. Fordert zur Bestätigung auf, es sei denn, Sie übergeben --yes.

Umleitungsbefehle (Vorschau)

Pipeline-Umleitungspipelinen, die auf das Quell-Azure Repos Repository im migrierten GitHub Repository verweisen. Umverwirrung steht für eine Migration immer in einem von zwei Modi zur Verfügung:

  • AutoErmittlung – übergeben --enable-auto-discover-pipelines Sie zusammen mit --pipeline-service-connection-id .create Der ELM-Synchronisierungsauftrag führt das Quell-Repository durch und erstellt Klondefinitionen für jede Pipeline, die darauf verweist.
  • Manuell – Registrieren sie bestimmte Pipelines nach create dem .pipelines submit Sie können beide Modi kombinieren und die Registrierung jederzeit anpassen mit pipelines update.
Befehl Erforderliche Parameter Optionale Parameter HTTP Description
pipelines list --org, --repository-id --detect GET Listet die Konfiguration der Pipelineumleitung und den Status pro Pipeline auf.List pipeline rewiring configuration and per pipeline status.
pipelines submit --org, --repository-id--pipeline-ids --service-connection-id, --repository-mapping--detect POST Registrieren Sie bestimmte Pipelines für die Umleitung.
pipelines update --org, --repository-id --add-ids, --remove-ids, --retry-ids, --service-connection-id, , --repository-mapping, --detect PUT Massenhinzufügen, Entfernen, Wiederholen oder Ändern der Dienstverbindung für registrierte Pipelines. Mindestens ein Updateflagge ist erforderlich.
pipelines retry --org, --repository-id--pipeline-ids --detect PUT Fehler beim Erneutverwirren von Pipelineeinträgen.
pipelines delete --org, --repository-id--migration-id --yes, --detect Löschen Löschen Sie die Pipelineumleitungsdaten (Konfigurations- und geklonte Definitionen) für eine Migration. Verwenden Sie dies, um Daten für eine fehlgeschlagene Migration zu bereinigen; abandon allein wird sie nicht entfernt.

Parameterdetails

Parameter Typ Verwendet von Description
--org URL All Azure DevOps Organisations-URL, z. B. https://dev.azure.com/<org>. Legen Sie diesen Wert als Standard fest.
--repository-id GUID Alle außer list Azure Repos Repository-GUID. Abrufen des Werts von az repos show --query id. Migrationen werden nur durch repositoryId identifiziert – die API-Antwort weist kein separates Migrations-ID-Feld auf, und es kann höchstens eine aktive Migration pro Repository geben.
--target-repository URL create Ziel-Repository-URL, z. B https://<enterprise>.ghe.com/<org>/<repo>. . Muss mit http:// oder https://beginnen. Der Server überprüft diesen Wert.
--target-owner-user-id Schnur create GitHub Benutzer-ID (Handle) des Ziel-Repositorybesitzers. Veraltet und ignoriert, wenn die serverseitige, tokenbasierte Besitzerauflösung aktiviert ist.
--service-endpoint-id GUID create Dies ist optional. Azure DevOps Dienstverbindungs-ID für die GitHub Enterprise Server-Verbindung, die zum Synchronisieren von Commits mit dem Ziel verwendet wird. Bei Festlegung wird GitHub Gerätefluss übersprungen. Unabhängig von der Überprüfung der Benutzeridentität – Sie können sie weiterhin bereitstellen --github-token oder ELM_GITHUB_TOKEN zusammen verwenden.
--github-token Schnur create Optionaler GitHub Benutzertoken (oder PAT) zur Überprüfung der Benutzeridentität auf dem Zielhost. Wenn nicht angegeben und --service-endpoint-id nicht angegeben wird, überprüft ELM_GITHUB_TOKEN und führt die CLI GitHub Gerätefluss aus.
--agent-pool Schnur create Agentpoolname für Migrationsarbeit.
--validate-only flag create, resume On create: Run pre-migration checks only. Ein resume: Wechseln Sie in den Modus "Nur überprüfen". Überprüfungsergebnisse laufen 24 Stunden ab, nachdem die Ausführung erfolgreich war; Starten (oder höherstufen) Sie die vollständige Migration innerhalb dieses Fensters.
--migration flag resume Höherstufen einer erfolgreichen überprüfungsgeschützten Ausführung auf eine vollständige Migration (Sets validateOnly=false und statusRequested=active). Nur gültig, wenn die vorherige gültigkeitsgeschützte Ausführung abgeschlossen ist status: Succeeded. Gegenseitiger Ausschluss mit --validate-only
--cutover-date ISO 8601 create Vorabplan-Übernahme zum Erstellungszeitpunkt, z. B 2030-12-31T11:59:00Z. .
--date ISO 8601 cutover set Termin und Uhrzeit der Übernahme planen, z. B 2030-12-31T11:59:00Z. . Muss in Zukunft sein.
--skip-validation Schnur create Durch Trennzeichen getrennte Liste der Gültigkeitsprüfungsrichtliniennamen oder eine nicht negative ganzzahlige Bitmaske. Richtliniennamen (Ohne Groß-/Kleinschreibung): , , , , PullRequestDeltaSize, AgentPoolExists, MaxFileSize, MaxPullRequestSizeMaxPushPackSize, SourceRepositoryContainsLfsObjects. BoardsGitHubConnectionProvisioningTargetRepositoryDoesNotExistAllSourceRepositoryNotReadOnlyMaxReferenceNameLengthActivePullRequestCountNone
--enable-boards-github-connection (--enable-boards-gh) flag create Melden Sie sich bei der Übernahme an, um die Azure Boards GitHub Verbindung bereitzustellen. Standardmäßig deaktiviert. Erfordert, dass die Azure Boards GitHub App auf dem Ziel-GitHub Organisation installiert wird, bevor die Migration ausgeführt wird.
--enable-auto-discover-pipelines (--auto-discover) flag create Melden Sie sich bei der Übernahme an, um die automatische Pipelineermittlung zu aktivieren. Standardmäßig deaktiviert. Erfordert --pipeline-service-connection-id; die CLI lehnt den Befehl ab, wenn Sie dieses Flag ohne Dienstverbindung übergeben.
--pipeline-service-connection-id (--pipeline-sc-id) GUID create Project bereichsbezogenen GitHub Dienstverbindungs-ID, die zur Erstellungszeit für die Pipelineweiterleitung angefügt ist. Erforderlich für die automatische Erkennung; optional im manuellen Modus, in dem sie die Verbindung vorab anfügt, sodass spätere pipelines submit Aufrufe nur erforderlich sind --pipeline-ids.
--accept-failures integer cutover approve Die Anzahl der nicht verarbeiteten Migrationsressourcen, die akzeptiert werden sollen, bevor Sie mit der Übernahme fortfahren. Geben Sie dies und/oder --pipelines-verified.
--pipelines-verified flag cutover approve Bestätigen Sie, dass alle verkabelten Pipelines überprüft wurden. Erforderlich, wenn cutover review zurückgegeben requiresPipelineVerificationAcknowledgment: truewird. Kann mit --accept-failures einem Anruf kombiniert werden.
--pipeline-ids int-Liste pipelines submit, pipelines retry Pipelinedefinitions-IDs. Akzeptiert durch Leerzeichen getrennte (42 43 44) oder kommagetrennte (42,43,44) Werte.
--service-connection-id GUID pipelines submit, pipelines update Project bereichsbezogenen GitHub Dienstverbindungs-ID. Optional, submit wenn eine Verbindung zur Erstellungszeit oder über .pipelines update
--add-ids / --remove-ids / --retry-ids int-Liste pipelines update Pipeline-IDs, die innerhalb des Neuverwirrungssatzes hinzugefügt, entfernt oder erneut versucht werden sollen.
--repository-mapping Schnur pipelines submit, pipelines update Repositoryzuordnung im Formular <sourceRepoId>=<targetOwner>/<targetRepo>. Das Ziel muss in owner/repo Form sein, keine URL. Kann mehrmals bereitgestellt werden.
--migration-id integer pipelines delete Migrations-ID, die für die Neuverwirrung der Pipeline verwendet wird. Lesen Sie es aus dem Migration NN: Präfix im validationIssues Text von migrations status.
--remove-read-only flag abandon Nach der Übernahme wird die Quelle Azure DevOps Repository schreibgeschützt festgelegt. Fügen Sie dieses Kennzeichen hinzu, um den Schreibzugriff wiederherzustellen. Gilt nur nach der Übernahme.
--yes (-y) flag abandon, pipelines delete Überspringen Sie die interaktive Bestätigungsaufforderung. Nützlich für die Skriptbereinigung.
--include-all flag list Geben Sie den vollständigen Migrationsverlauf pro Repository zurück, einschließlich abgeschlossener, fehlgeschlagener und angehaltener Migrationen. (--include-inactive ist ein veralteter Alias.)
--detect flag All Automatisches Erkennen der Organisation von der Git-Remote (Standard: true). Verwenden Sie --detect false, um zu deaktivieren.

Migrationsphasen

Stage Description
In der Warteschlange Migration akzeptiert; Die Arbeit wurde noch nicht begonnen.
Validation Ausführen von Überprüfungen vor der Migration.
Synchronization Kopieren und Synchronisieren von Repositoryinhalten.
Umstellung Ausführen der endgültigen Synchronisierung und Übergang zu GitHub.
ReviewForCutover Die Übernahme hat die geplante Zeit mit nicht aufgelösten Fehlern erreicht und wartet cutover approve auf (oder neu planen).
ReadyForCutover Genehmigt und wartet auf den nächsten ELM-Auftrag, um den endgültigen Übernahmevorgang auszuführen.
Migriert Die Migration ist abgeschlossen. GitHub ist das System of Record.

Migrationsstatus

Status Bedeutung
Active Die Migration wird ausgeführt.
Erfolgt Die aktuelle Phase wurde erfolgreich abgeschlossen.
Abgeschlossen Die Migration hat die Terminalphase Migrated erreicht.
gescheitert Es ist ein Fehler aufgetreten Sie können die Migration nach der Behebung des Problems fortsetzen.
Gesperrt Manuell pausiert. Sie können die Migration fortsetzen.