Informations de référence sur l’interface CLI Enterprise Live Migrations (ELM)

services Azure DevOps

Cet article répertorie les commandes et paramètres cli Azure DevOps que vous utilisez pour exécuter Enterprise Live Migrations (ELM), ainsi que les valeurs d’état et d’étape retournées par l’interface CLI pendant une migration.

Commands

Commandes de migration

Command Paramètres requis Paramètres facultatifs HTTP Description
list --org --project, , --include-all--detect GET Répertorier les migrations. Par défaut, l’interface CLI retourne uniquement la migration active pour chaque référentiel. Permet --include-all d’inclure les migrations terminées, ayant échoué et suspendues.
status --org, --repository-id --detect GET Obtenez un état détaillé pour une migration.
create --org, , --repository-id--target-repository, ,--agent-pool --target-owner-user-id, , --service-endpoint-id, --validate-only--github-token, , --skip-validation--pipeline-service-connection-id--enable-boards-github-connection--enable-auto-discover-pipelines--cutover-date--detect POST Créez une migration. Si vous ne passez --service-endpoint-idpas, l'interface CLI vérifieELM_GITHUB_TOKEN, puis exécute GitHub flux d'appareil pour s'authentifier auprès de la cible.
pause --org, --repository-id --detect PUT Suspendre une migration active.
resume --org, --repository-id --validate-only, , --migration--detect PUT Reprendre une migration arrêtée.
cutover set --org, , --repository-id--date --detect PUT Planifiez une date et une heure de basculement. La valeur doit être à l’avenir.
cutover cancel --org, --repository-id --detect PUT Annulez un basculement planifié. Seulement valide pendant que l’étape est Synchronization; rejetée une fois l’étape avance à Cutover. Envoie la DateTimeOffset.MinValue sentinelle (0001-01-01T00:00:00+00:00) car le serveur ignore null pour scheduledCutoverDate.
cutover review --org, --repository-id --detect GET Répertorier les éléments non traités et les exigences de vérification de pipeline en attente d’approbation.
cutover approve --org, --repository-id --accept-failures, , --pipelines-verified--detect PUT Approuvez le basculement en acceptant des éléments non traités et/ou en vérifiant les pipelines rewired. Fournissez au moins l’un d’entre --accept-failures eux ou --pipelines-verified. Irréversible : aucune API de révocation ; récupérer avec abandon + recréer.
abandon --org, --repository-id --remove-read-only, , --yes--detect Supprimer Abandonner une migration. L’enregistrement de migration n’est pas vidé et les données de rewiring de pipeline sont conservées. Par conséquent, une migration ultérieure peut la réutiliser. Demande de confirmation, sauf si vous passez --yes.

Commandes de rewiring de pipeline (préversion)

Le rewiring de pipelines pointe à nouveau les pipelines qui référencent le référentiel source Azure Repos au référentiel GitHub migré. Le rewiring est toujours disponible pour une migration, dans l’un des deux modes suivants :

  • Détection automatique : passez --enable-auto-discover-pipelines avec --pipeline-service-connection-id le create. Le travail de synchronisation ELM guide le référentiel source et crée des définitions de clone pour chaque pipeline qui le référence.
  • Manuel : inscrire des pipelines spécifiques après createpipelines submit. Vous pouvez combiner les deux modes et ajuster l’inscription à tout moment avec pipelines update.
Command Paramètres requis Paramètres facultatifs HTTP Description
pipelines list --org, --repository-id --detect GET Répertorier la configuration du pipeline et l’état par pipeline.
pipelines submit --org, , --repository-id--pipeline-ids --service-connection-id, , --repository-mapping--detect POST Inscrire des pipelines spécifiques pour le rewiring.
pipelines update --org, --repository-id --add-ids, , --remove-ids, --retry-ids--service-connection-id, , --repository-mapping--detect PUT Ajoutez, supprimez, réessayez ou modifiez la connexion de service pour les pipelines inscrits. Au moins un indicateur de mise à jour est requis.
pipelines retry --org, , --repository-id--pipeline-ids --detect PUT Nouvelle tentative échec des entrées de balayage du pipeline.
pipelines delete --org, , --repository-id--migration-id --yes, --detect Supprimer Supprimez les données de rewiring de pipeline (configuration et définitions clonées) pour une migration. Utilisez-le pour nettoyer les données de rewiring pour une migration ayant échoué ; abandon seul ne le supprime pas.

Détails des paramètres

Paramètre Type Utilisé par Description
--org URL Tous URL de l’organisation Azure DevOps, par exemple https://dev.azure.com/<org>. Définissez cette valeur comme valeur par défaut.
--repository-id GUID Tout sauf list GUID du référentiel Azure Repos. Obtenez la valeur de az repos show --query id. Les migrations sont identifiées repositoryId par uniquement : la réponse de l’API n’a pas de champ d’ID de migration distinct et il peut y avoir au maximum une migration active par dépôt.
--target-repository URL create URL du référentiel cible, par exemple https://<enterprise>.ghe.com/<org>/<repo>. Doit commencer par http:// ou https://. Le serveur valide cette valeur.
--target-owner-user-id string create GitHub’ID utilisateur (handle) du propriétaire du référentiel cible. Déconseillé et ignoré lorsque la résolution du propriétaire côté serveur et basée sur un jeton est activée.
--service-endpoint-id GUID create Optional. Azure DevOps ID de connexion de service pour la connexion GitHub Enterprise Server utilisée pour synchroniser les validations sur la cible. Lorsqu’il est défini, GitHub flux d’appareil est ignoré. Indépendamment de la vérification de l’identité de l’utilisateur, vous pouvez toujours fournir --github-token ou ELM_GITHUB_TOKEN en parallèle.
--github-token string create Facultatif GitHub jeton d’utilisateur (ou PAT) pour la vérification de l’identité utilisateur sur l’hôte cible. S'il n'est pas omis et --service-endpoint-id n'est pas fourni, l'interface CLI vérifieELM_GITHUB_TOKEN, puis exécute GitHub flux d'appareil.
--agent-pool string create Nom du pool d’agents pour le travail de migration.
--validate-only flag create, resume Activé create: exécutez les vérifications de pré-migration uniquement. Activé resume: basculez vers le mode de validation uniquement. Les résultats valides expirent 24 heures après la réussite de l’exécution ; démarrer (ou promouvoir vers) la migration complète dans cette fenêtre.
--migration flag resume Promouvoir une exécution de validation réussie uniquement vers une migration complète (jeux validateOnly=false et statusRequested=active). Valide uniquement lorsque l’exécution de validation précédente s’est terminée avec status: Succeeded. Mutuellement exclusif avec --validate-only.
--cutover-date ISO 8601 create Pré-planification du basculement au moment de la création, par exemple 2030-12-31T11:59:00Z.
--date ISO 8601 cutover set Planifier la date et l’heure de basculement, par exemple 2030-12-31T11:59:00Z. Doit être à l’avenir.
--skip-validation string create Liste séparée par des virgules des noms de stratégie de validation ou masque de bits entier non négatif. Noms de stratégie (sans respect de la casse) : None, MaxFileSizeAgentPoolExistsMaxPullRequestSizeMaxReferenceNameLengthMaxPushPackSizeActivePullRequestCountPullRequestDeltaSizeSourceRepositoryContainsLfsObjectsTargetRepositoryDoesNotExist, . AllSourceRepositoryNotReadOnlyBoardsGitHubConnectionProvisioning
--enable-boards-github-connection (--enable-boards-gh) flag create Optez pour approvisionner la connexion Azure Boards GitHub au basculement. Désactivé par défaut. Nécessite que l’application Azure Boards GitHub soit installée sur l’organisation cible GitHub avant l’exécution de la migration.
--enable-auto-discover-pipelines (--auto-discover) flag create Optez pour la découverte automatique de pipelines au basculement. Désactivé par défaut. Nécessite --pipeline-service-connection-id; l’interface CLI rejette la commande si vous passez cet indicateur sans connexion de service.
--pipeline-service-connection-id (--pipeline-sc-id) GUID create Project’ID de connexion de service attaché à l’étendue GitHub au moment de la création pour le rewiring du pipeline. Obligatoire pour la découverte automatique ; facultatif en mode manuel, où il pré-attache la connexion afin que les appels ultérieurs pipelines submit n’ont besoin --pipeline-idsque .
--accept-failures entier cutover approve Nombre de ressources de migration non traitées à accepter avant de passer au basculement. Fournissez ceci et/ou --pipelines-verified.
--pipelines-verified flag cutover approve Reconnaissez que tous les pipelines rewired ont été vérifiés. Obligatoire lorsque cette propriété cutover review est retournée requiresPipelineVerificationAcknowledgment: true. Peut être combiné avec --accept-failures un seul appel.
--pipeline-ids liste int pipelines submit, pipelines retry ID de définition de pipeline. Accepte les valeurs séparées par des espaces (42 43 44) ou séparées par des virgules (42,43,44).
--service-connection-id GUID pipelines submit, pipelines update ID de connexion de service Project étendue GitHub. Facultatif si submit une connexion a déjà été attachée au moment de la création ou via pipelines update.
--add-ids / --remove-ids / --retry-ids liste int pipelines update ID de pipeline à ajouter, supprimer ou réessayer dans le jeu de rewiring.
--repository-mapping string pipelines submit, pipelines update Mappage de référentiel dans le formulaire <sourceRepoId>=<targetOwner>/<targetRepo>. La cible doit être sous owner/repo forme, pas une URL. Peut être fourni plusieurs fois.
--migration-id entier pipelines delete ID de migration utilisé pour le nettoyage de réexécuter le pipeline. Lisez-le à partir du Migration NN: préfixe dans le validationIssues texte de migrations status.
--remove-read-only flag abandon Après le basculement, le référentiel source Azure DevOps est défini sur lecture seule. Ajoutez cet indicateur pour restaurer l’accès en écriture. S’applique uniquement après le basculement.
--yes (-y) flag abandon, pipelines delete Ignorez l’invite de confirmation interactive. Utile pour le nettoyage scripté.
--include-all flag list Retournez l’historique de migration complet par dépôt, y compris les migrations terminées, ayant échoué et suspendues. (--include-inactive est un alias déconseillé.)
--detect flag Tous Détecter automatiquement l’organisation à partir de git remote (par défaut : true). Utilisez --detect false pour désactiver.

Étapes de migration

Stage Description
Mis en file d’attente Migration acceptée ; le travail n’a pas encore commencé.
Validation Exécution de vérifications préalables à la migration.
Synchronization Copie et synchronisation du contenu du référentiel.
Basculement Exécution de la synchronisation finale et transition vers GitHub.
ReviewForCutover Le basculement a atteint l’heure planifiée avec des défaillances non résolues et attend cutover approve (ou réécriture).
ReadyForCutover Approuvé et en attente du prochain travail ELM pour effectuer le basculement final.
Migré La migration est terminée. GitHub est le système d’enregistrement.

État de la migration

Status Sens
Active La migration est en cours d’exécution.
Réussi La phase actuelle s’est terminée avec succès.
Terminé La migration a atteint l’étape du terminal Migrated .
Échec Une erreur s’est produite. Vous pouvez reprendre la migration après avoir résolu le problème.
Suspendu Mis en pause manuellement. Vous pouvez reprendre la migration.