4. Monitorare la migrazione

Servizi di Azure DevOps

Il completamento della sincronizzazione iniziale può richiedere diverse ore o persino giorni, a seconda delle dimensioni del repository. Al termine della sincronizzazione iniziale, ELM continua a eseguire sincronizzazioni periodiche per un massimo di 21 giorni per acquisire gli aggiornamenti in corso. Durante questa finestra di 21 giorni, è necessario eseguire il cutover per finalizzare la migrazione.

Annotazioni

Tutti i passaggi descritti in questo articolo usano l'interfaccia della riga di comando di Azure DevOps.

Per vedere quali repository si trovano in ogni fase, eseguire az devops migrations list e filtrare in base al stage campo. Gli errori vengono visualizzati nell'output dello stato della migrazione in modo da poter identificare e risolvere i problemi prima di continuare.

Importante

Limite di concorrenza: contemporaneamente è possibile avere fino a 20 migrazioni attive. Per avviare un'altra migrazione, completare prima il cutover per almeno una migrazione attiva.

Tenere traccia dello stato della migrazione

Per elencare tutte le migrazioni per l'organizzazione:

az devops migrations list --org https://dev.azure.com/<org>

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'orario previsto con problemi irrisolti ed è in attesa di cutover approve (o della riprogrammazione).
Pronto per il passaggio definitivo Approvato e in attesa della prossima attività ELM per eseguire il passaggio finale.
Migrato Migrazione completata. GitHub è il sistema di riferimento.

Stati della migrazione

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

A cosa prestare attenzione

  • Ora dell'ultima sincronizzazione riuscita: verificare che le sincronizzazioni siano in esecuzione in base alla pianificazione.
  • Stato di sincronizzazione : identificare se la migrazione è in corso o bloccata.
  • Condizioni di errore : ELM ritenta automaticamente gli errori temporanei. Gli errori persistenti richiedono un'analisi.

Riprendere dopo un errore di sincronizzazione

Se si verificano errori di sincronizzazione, esaminare i dettagli dell'errore e risolvere il problema sottostante. Lasciare quindi che ELM riprenda automaticamente o esegua:

az devops migrations resume --org https://dev.azure.com/<org>
                            --repository-id <repo-guid>

Sospendere e riprendere la migrazione

Se è necessario arrestare temporaneamente una migrazione e riavviarla nella stessa modalità:

Pausa:

az devops migrations pause --org https://dev.azure.com/<org>
                           --repository-id <repo-guid>

Riprendi:

az devops migrations resume --org https://dev.azure.com/<org>
                            --repository-id <repo-guid>

Annotazioni

È possibile sospendere una migrazione per qualsiasi periodo di tempo, ma la finestra di cutover di 21 giorni si applica ancora.

Annullare la migrazione

In qualsiasi momento durante la sincronizzazione, se si vuole arrestare ed eliminare una migrazione, eseguire il comando seguente. Questa azione elimina definitivamente il record di migrazione e viene richiesto di confermare.

az devops migrations abandon --org https://dev.azure.com/<org>
                             --repository-id <repo-guid>

Dopo il cutover, il repository Azure DevOps è impostato in modalità di sola lettura. Se si desidera riprendere a scrivere su di esso, aggiungere --remove-read-only per ripristinare l’accesso in scrittura. Questo flag ha effetto solo dopo il cutover.

az devops migrations abandon --org https://dev.azure.com/<org>
                             --repository-id <repo-guid>
                             --remove-read-only

Per ignorare il prompt di conferma interattivo (per la pulizia con script), aggiungere --yes.

Dopo aver abbandonato una migrazione:

  • Repository di origine: il repository di Azure DevOps non viene modificato ed è completamente scrivibile. Non è necessaria alcuna pulizia.
  • Audit trail: il record di migrazione non viene conservato, ma viene scritto un evento di controllo per registrare che la migrazione è stata abbandonata. Per altre informazioni, vedere Audit.
  • Avvio di una nuova migrazione: è possibile creare una nuova migrazione per lo stesso repository di origine, ma un breve cooldown si applica prima che la nuova migrazione possa iniziare. Se si vuole riutilizzare lo stesso nome del repository GitHub di destinazione, eliminare prima di tutto il repository di GitHub esistente. È necessario disporre dell'autorizzazione Delete repository in GitHub per eseguire questa operazione.

Passo successivo