Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Serviços do Azure DevOps
Após a sincronização inicial ser concluída, seu repositório estará pronto para a transição. Conclua a transição dentro de 21 dias a partir do início da sincronização inicial.
Importante
A transição normalmente é concluída em menos de 30 minutos, período durante o qual o repositório do Azure DevOps fica em modo somente leitura. Embora o repositório esteja em modo somente leitura, pushes e atualizações em pull requests são bloqueados, mas os usuários ainda podem navegar e clonar. Notifique todas as equipes afetadas antes de agendar a substituição.
Antes de agendar a transição
Confirme as seguintes condições:
- As sincronizações incrementais estão saudáveis e atualizadas.
- As branches, tags e pull requests do repositório do GitHub estão presentes e corretos.
- Todas as equipes afetadas são notificadas.
- As URLs de Azure DevOps codificadas em pipelines, scripts e ferramentas são identificadas para atualização.
Note
O agendamento, o monitoramento e a aprovação da transição usam a CLI do Azure DevOps. Após a transição, você valida o repositório migrado no portal do GitHub. Para obter mais informações, consulte Concluir tarefas pós-migração.
Agendar transição
az devops migrations cutover set --org https://dev.azure.com/<org>
--repository-id <repo-guid>
--date "YYYY-MM-DDTHH:MM:SSZ"
Diretrizes de fuso horário: acrescente Z para UTC ou use um deslocamento como -08:00 para o Horário do Pacífico. Se você omitir o fuso horário, o fuso horário local será assumido. Para evitar ambiguidade entre equipes, inclua Z ou um deslocamento explícito.
Cancelar uma transição agendada
az devops migrations cutover cancel --org https://dev.azure.com/<org>
--repository-id <repo-guid>
Note
O cutover cancel comando funciona somente enquanto a migração ainda está no estágio de sincronização . Depois que o estágio avança para Cutover, o servidor rejeita o pedido de cancelamento e a CLI retorna um código de saída diferente de zero. Se você precisar interromper um cutover que já está em andamento, use az devops migrations abandon ou entre em contato com a equipe do ELM.
O que acontece durante a transição
- O repositório Azure DevOps é colocado em um estado somente leitura controlado.
- O ELM executa a sincronização final. Os deltas restantes são aplicados ao GitHub.
- GitHub torna-se o sistema de registro autoritativo.
- Um banner é exibido na página do repositório do Azure DevOps que direciona os usuários para a nova localização no GitHub.
- O estado de migração está marcado como Migrado / com êxito.
Monitore o progresso da transição
az devops migrations status --org https://dev.azure.com/<org>
--repository-id <repo-guid>
Aguarde até que a migração mostre status: Succeeded e stage: Migrated.
Note
Os trabalhos do ELM são executados a cada 30 a 60 minutos. Se você agendar a substituição assim que a migração entrar no estágio de substituição, poderá levar até 60 minutos até que o trabalho de substituição seja iniciado.
Importante
Após a conclusão da transição, as solicitações de pull request abertas no GitHub não serão sincronizadas de volta com o Azure DevOps.
Examinar a substituição
Se a rewiring do pipeline estiver habilitada ou as falhas não resolvidas permanecerem no tempo de substituição agendado, o ELM pausa a migração no ReviewForCutover em vez de continuar automaticamente. Por exemplo, essa condição pode ocorrer quando algumas solicitações de pull não podem ser migradas. Examine as falhas e escolha explicitamente se deseja continuar.
Revisar falhas na transição
az devops migrations cutover review --org https://dev.azure.com/<org>
--repository-id <repo-guid>
O comando retorna um resumo de itens não resolvidos:
| Campo | Description |
|---|---|
failedCount |
Número de itens que não foram migrados. |
blockedCount |
Número de itens bloqueados por dependências. |
pendingCount |
Número de itens ainda pendentes. |
totalUnprocessedCount |
Total de itens que exigem aprovação. |
failedItems |
Lista detalhada de itens não processados com URL de estado, tipo e solicitação de pull. |
Examine a failedItems lista cuidadosamente para entender quais itens não serão migrados se você optar por continuar.
Opções em ReviewForCutover
Depois de examinar as falhas, escolha uma das seguintes opções:
| Opção | O que faz | Quando usar |
|---|---|---|
| Aprovar e continuar | Aceita as falhas e avança para o cutover. | Você revisou todas as falhas e concorda em prosseguir sem esses itens. |
| Limpar data de transição | Redefine para Sincronização. A migração continua sincronizando. | Você deseja corrigir os problemas primeiro e agendar uma nova substituição mais tarde. |
| Reprogramar transição | Redefine para Sincronização com uma nova data de transição. Execute az devops migrations cutover set --date <new> novamente para definir uma nova data. Se as falhas forem resolvidas até a nova data, a migração ocorrerá automaticamente. |
Você quer mais tempo. |
| Excluir a migração | Exclui o registro de migração. Um evento de auditoria é gravado; o repositório de Azure DevOps de origem permanece inalterado. | Você deseja abandonar totalmente essa migração. |
| Pausar a migração | Suspende a sincronização até que você a retome manualmente. | Você precisa pausar todas as atividades enquanto investiga. |
Aprovar transição
Se você decidir continuar, aprove a transição aceitando o número de itens a serem ignorados:
az devops migrations cutover approve --org https://dev.azure.com/<org>
--repository-id <repo-guid>
--accept-failures <N>
--pipelines-verified
Defina <N> para um valor maior ou igual a totalUnprocessedCount da revisão da transição.
Inclua --pipelines-verified quando a revisão de substituição retornar requiresPipelineVerificationAcknowledgment: true. Esse sinalizador confirma que você revisou e verificou todos os pipelines religados. Você deve fornecer pelo menos um de --accept-failures ou --pipelines-verified.
Warning
A aprovação é irreversível. Não há nenhuma API para revogar uma aprovação. Se você aprovar por engano, o único caminho de recuperação será az devops migrations abandon seguido pela recriação da migração.
Note
Se novas falhas aparecerem após a revisão e antes de aprovar, o comando será rejeitado com um HTTP 400 exibido como uma CLIError indicação de que a contagem de falhas não corresponde mais. Execute cutover review novamente, anote a atualização totalUnprocessedCounte repita a aprovação. Scripts e ferramentas de automação podem identificar um código de saída diferente de zero.
Após a aprovação, a migração passa para ReadyForCutover:
- Se uma data de migração já estiver agendada, a migração ocorrerá automaticamente na data e hora programadas.
- Se nenhuma data de transição estiver definida, agende uma para prosseguir.