Informazioni di riferimento su Enterprise Live Migrations (ELM)

Servizi di Azure DevOps

Questo articolo elenca i comandi e i parametri dell'interfaccia della riga di comando di Azure DevOps usati per eseguire Enterprise Live Migrations (ELM), insieme ai valori di stato e di fase restituiti dall'interfaccia della riga di comando durante una migrazione.

Comandi

Comandi di migrazione

Command Parametri obbligatori Parametri facoltativi HTTP Description
list --org --project, --include-all, --detect GET Elencare le migrazioni. Per impostazione predefinita, l'interfaccia della riga di comando restituisce solo la migrazione attiva per ogni repository. Usare --include-all per includere migrazioni completate, non riuscite e sospese.
status --org, --repository-id --detect GET Ottenere lo stato dettagliato per una migrazione.
create --org, --repository-id, --target-repository--agent-pool --target-owner-user-id --github-token, --service-endpoint-id, , --validate-only, --cutover-date--skip-validation, --enable-boards-github-connection, --enable-auto-discover-pipelines, , --pipeline-service-connection-id--detect POSTA Creare una nuova migrazione. Se non si supera --service-endpoint-id, l'interfaccia della riga di comando controlla ELM_GITHUB_TOKEN e quindi esegue GitHub flusso del dispositivo per l'autenticazione nella destinazione.
pause --org, --repository-id --detect PUT Sospendere una migrazione attiva.
resume --org, --repository-id --validate-only, --migration, --detect PUT Riprendere una migrazione arrestata.
cutover set --org, --repository-id, --date --detect PUT Pianificare una data e un'ora completate. Il valore deve essere in futuro.
cutover cancel --org, --repository-id --detect PUT Annullare un cutover pianificato. Valido solo mentre la fase è Synchronization; rifiutata una volta che la fase passa a Cutover. Invia sentinel DateTimeOffset.MinValue (0001-01-01T00:00:00+00:00) perché il server ignora null per scheduledCutoverDate.
cutover review --org, --repository-id --detect GET Elencare gli elementi non elaborati e i requisiti di verifica della pipeline in attesa dell'approvazione.
cutover approve --org, --repository-id --accept-failures, --pipelines-verified, --detect PUT Approvare il cutover accettando elementi non elaborati e/o verificando le pipeline rewired. Specificare almeno uno di --accept-failures o --pipelines-verified. Irreversibile: nessuna API di revoca; recuperare con abandon + ricreare.
abandon --org, --repository-id --remove-read-only, --yes, --detect DELETE Abbandonare una migrazione. Il record di migrazione non viene eliminato e i dati di riwiring della pipeline vengono mantenuti, quindi una migrazione successiva può riutilizzarla. Richiede conferma a meno che non si passi --yes.

Comandi di riwiring della pipeline (anteprima)

Pipeline rewiring re-points pipeline che fanno riferimento al repository di Azure Repos di origine nel repository di GitHub migrato. La riwiring è sempre disponibile per una migrazione, in una delle due modalità seguenti:

  • Individuazione automatica : passare --enable-auto-discover-pipelines insieme a --pipeline-service-connection-id su create. Il processo di sincronizzazione ELM illustra il repository di origine e crea definizioni di clonazione per ogni pipeline che vi fa riferimento.
  • Manuale : registrare pipeline specifiche dopo create con pipelines submit. È possibile combinare entrambe le modalità e regolare la registrazione in qualsiasi momento con pipelines update.
Command Parametri obbligatori Parametri facoltativi HTTP Description
pipelines list --org, --repository-id --detect GET Elencare la configurazione di riwiring della pipeline e lo stato per ogni pipeline.
pipelines submit --org, --repository-id, --pipeline-ids --service-connection-id, --repository-mapping, --detect POSTA Registrare pipeline specifiche per il riwiring.
pipelines update --org, --repository-id --add-ids, --remove-ids, --retry-ids, --service-connection-id, --repository-mapping--detect PUT Aggiungere, rimuovere, riprovare o modificare la connessione al servizio per le pipeline registrate. È necessario almeno un flag di aggiornamento.
pipelines retry --org, --repository-id, --pipeline-ids --detect PUT Ripetizione di tentativi di ripetizione del rewiring della pipeline non riuscita.
pipelines delete --org, --repository-id, --migration-id --yes, --detect DELETE Eliminare i dati di riwiring della pipeline (configurazione e definizioni clonate) per una migrazione. Usare questa opzione per pulire i dati di riwiring per una migrazione non riuscita; abandon da solo non lo rimuove.

Dettagli del parametro

Parametro Type Usato da Description
--org URL All Azure DevOps URL dell'organizzazione, ad esempio https://dev.azure.com/<org>. Impostare questo valore come predefinito.
--repository-id GUID Tutti tranne list Azure Repos GUID del repository. Ottenere il valore da az repos show --query id. Le migrazioni vengono identificate solo da repositoryId : la risposta dell'API non ha un campo ID migrazione separato e può essere presente al massimo una migrazione attiva per ogni repository.
--target-repository URL create URL del repository di destinazione, ad esempio https://<enterprise>.ghe.com/<org>/<repo>. Deve iniziare con http:// o https://. Il server convalida questo valore.
--target-owner-user-id string create GitHub ID utente (handle) del proprietario del repository di destinazione. Deprecato e ignorato quando è abilitata la risoluzione del proprietario basata su token sul lato server.
--service-endpoint-id GUID create Optional. Azure DevOps ID connessione al servizio per la connessione GitHub Enterprise Server usata per sincronizzare i commit nella destinazione. Se impostato, GitHub flusso del dispositivo viene ignorato. Indipendentemente dalla verifica dell'identità dell'utente, è comunque possibile specificare --github-token o ELM_GITHUB_TOKEN affiancarla.
--github-token string create Facoltativo GitHub token utente (o PAT) per la verifica dell'identità utente nell'host di destinazione. Se omesso e --service-endpoint-id non viene fornito, l'interfaccia della riga di comando controlla ELM_GITHUB_TOKEN e quindi esegue GitHub flusso del dispositivo.
--agent-pool string create Nome del pool di agenti per il lavoro di migrazione.
--validate-only flag create, resume In create: eseguire solo controlli di pre-migrazione. In resume: passare alla modalità di sola convalida. I risultati di sola convalida scadono 24 ore dopo l'esito positivo dell'esecuzione; avviare (o alzare di livello) la migrazione completa all'interno di tale finestra.
--migration flag resume Alzare di livello un'esecuzione di sola convalida riuscita a una migrazione completa (set validateOnly=false e statusRequested=active). Valido solo quando l'esecuzione di sola convalida precedente è stata completata con status: Succeeded. Si escludono con --validate-only a vicenda.
--cutover-date ISO 8601 create Cutover pianificato in fase di creazione, ad esempio 2030-12-31T11:59:00Z.
--date ISO 8601 cutover set Pianificare la data e l'ora di cutover, ad esempio 2030-12-31T11:59:00Z. Deve essere in futuro.
--skip-validation string create Elenco delimitato da virgole dei nomi dei criteri di convalida o maschera di bit integer non negativo. Nomi dei criteri (senza distinzione tra maiuscole e minuscole): None, ActivePullRequestCountPullRequestDeltaSize, , AgentPoolExistsMaxFileSize, MaxPullRequestSize, SourceRepositoryContainsLfsObjectsTargetRepositoryDoesNotExistMaxReferenceNameLengthSourceRepositoryNotReadOnlyMaxPushPackSize, . AllBoardsGitHubConnectionProvisioning
--enable-boards-github-connection (--enable-boards-gh) flag create Acconsentire esplicitamente al provisioning della connessione Azure Boards GitHub al cutover. Disattivato per impostazione predefinita. Richiede l'installazione dell'app Azure Boards GitHub nella GitHub di destinazione prima dell'esecuzione della migrazione.
--enable-auto-discover-pipelines (--auto-discover) flag create Acconsentire esplicitamente all'individuazione automatica della pipeline al cutover. Disattivato per impostazione predefinita. Richiede --pipeline-service-connection-id. L'interfaccia della riga di comando rifiuta il comando se si passa questo flag senza una connessione al servizio.
--pipeline-service-connection-id (--pipeline-sc-id) GUID create Project-scoped GitHub service connection ID collegato in fase di creazione per la riwiring della pipeline. Obbligatorio per l'individuazione automatica; facoltativo in modalità manuale, in cui pre-collega la connessione in modo che le chiamate successive pipelines submit richiedano --pipeline-idssolo .
--accept-failures integer cutover approve Numero di risorse di migrazione non elaborate da accettare prima di procedere con il cutover. Specificare questa e/o --pipelines-verified.
--pipelines-verified flag cutover approve Confermare che tutte le pipeline rewired sono state verificate. Obbligatorio quando cutover review restituisce requiresPipelineVerificationAcknowledgment: true. Può essere combinato con --accept-failures in una sola chiamata.
--pipeline-ids int list pipelines submit, pipelines retry ID di definizione della pipeline. Accetta valori separati da spazi (42 43 44) o delimitati da virgole (42,43,44).
--service-connection-id GUID pipelines submit, pipelines update Project'ID connessione del servizio con ambito GitHub. Facoltativo se submit una connessione è già stata collegata in fase di creazione o tramite pipelines update.
--add-ids / --remove-ids / --retry-ids int list pipelines update ID pipeline da aggiungere, rimuovere o riprovare all'interno del set di riwiring.
--repository-mapping string pipelines submit, pipelines update Mapping del repository nel formato <sourceRepoId>=<targetOwner>/<targetRepo>. La destinazione deve essere in owner/repo formato, non un URL. Può essere fornito più volte.
--migration-id integer pipelines delete ID di migrazione usato per la pulizia del rewiring della pipeline. Leggerlo dal Migration NN: prefisso nel validationIssues testo di migrations status.
--remove-read-only flag abandon Dopo il cutover, il repository di Azure DevOps di origine è impostato su sola lettura. Aggiungere questo flag per ripristinare l'accesso in scrittura. Si applica solo dopo il cutover.
--yes (-y) flag abandon, pipelines delete Ignorare la richiesta di conferma interattiva. Utile per la pulizia tramite script.
--include-all flag list Restituisce la cronologia completa della migrazione per ogni repository, incluse le migrazioni completate, non riuscite e sospese. (--include-inactive è un alias deprecato.
--detect flag All Rilevare automaticamente l'organizzazione dal repository git remoto (impostazione predefinita: true). Usare --detect false per disabilitare.

Fasi della migrazione

Stage Description
Queued Migrazione accettata; lavoro non è ancora iniziato.
Validation Esecuzione di controlli di pre-migrazione.
Synchronization Copia e sincronizzazione del contenuto del repository.
Cutover Esecuzione della sincronizzazione finale e transizione a GitHub.
ReviewForCutover Il cutover ha raggiunto l'ora pianificata con errori non risolti ed è in attesa cutover approve di (o di riprogrammazione).
ReadyForCutover Approvato e in attesa del successivo processo ELM per eseguire il cutover finale.
Migrato Migrazione completata. GitHub è il sistema di riferimento.

Stati della migrazione

Condizione Meaning
Active La migrazione è in esecuzione.
Succeeded La fase attuale è stata completata con successo.
Finito La migrazione ha raggiunto la fase del terminale Migrated .
Non riuscito Si è verificato un errore. È possibile riprendere la migrazione dopo aver risolto il problema.
Sospeso Sospesa manualmente. È possibile riprendere la migrazione.