Skip to main content

Fase 1. Entender as migrações do Azure DevOps para o GitHub

GitHub Enterprise Importer pode automatizar a migração do Azure DevOps para outra plataforma.

Sobre migrações do Azure DevOps Cloud

Você pode usar o GitHub Enterprise Importer para migrar repositórios do Azure DevOps para o GitHub Enterprise Cloud (GitHub.com ou GHE.com).

Você só pode usar o GitHub Enterprise Importer para migrar do Azure DevOps Cloud, não do Azure DevOps Server. Atualmente, se você usa o Azure DevOps Server e deseja migrar para o GitHub, migre primeiro para o Azure DevOps Cloud. Para obter mais informações, confira Migrar para o Azure DevOps no site do Azure.

Antes de criar sua conta empresarial no GitHub, decida se sua empresa utilizará o Enterprise Managed Users. Isso afeta como seus membros se autenticam e como você gerencia identidades e acesso. Confira Escolher um tipo de empresa para o GitHub Enterprise Cloud.

Suporte para Azure Pipelines e Azure Boards

Tanto o Azure Pipelines quanto o Azure Boards podem ser totalmente integrados à sua experiência no GitHub. Você pode configurar sua conta corporativa e o Azure DevOps para continuar usando esses serviços, ao mesmo tempo em que se beneficia de ter seus repositórios hospedados no GitHub.

Caso você deseje migrar o Azure Pipelines para o GitHub Actions, entre em contato com o gerente de contas do GitHub.

Dados que são migrados

GitHub Enterprise Importer atualmente oferece suporte à migração dos seguintes dados de repositório do Azure DevOps para GitHub Enterprise Cloud.

  • Origem do Git (incluindo o histórico de commits)
  • Solicitações de pull
  • Histórico de usuários para solicitações de pull
  • Links de item de trabalho em solicitações de pull
  • Anexos em solicitações de pull
  • Políticas de ramificação para o repositório (políticas de ramificação com escopo de usuário e políticas de ramificação entre repositórios não estão incluídas)

Limitações dos dados migrados

Há limites para o que o GitHub Enterprise Importer pode migrar. Alguns ocorrem devido a limitações do GitHub, enquanto outros são limitações do próprio GitHub Enterprise Importer.

Limitações do GitHub

  •         **Limite de tamanho de 2 GiB para uma única confirmação do Git:** Nenhuma confirmação única em seu repositório Git pode ser maior que 2 GiB. Se algum de seus commits for maior que 2 GiB, você precisará dividi-lo em commits menores, cada um com 2 GiB ou menos.
    
  •         **Limite de 255 bytes para referências do Git:** Nenhuma referência única do Git, comumente conhecida como "ref", pode ter um nome maior que 255 bytes. Normalmente, isso significa que suas referências não podem ter mais de 255 caracteres, mas qualquer caractere que não seja ASCII, como emojis, pode consumir mais de um byte. Se uma das referências do Git for muito grande, retornaremos uma mensagem de erro clara.
    
  •         **Limite de tamanho de arquivo de 100 MiB:** Depois de concluir a migração, nenhum arquivo único no repositório Git poderá ter mais de 100 MiB. Durante a migração do repositório, esse limite é aumentado para 400 MiB. Considere o uso do Git LFS para armazenar arquivos grandes.
    

Limitações do GitHub Enterprise Importer

  • Limite de tamanho de 40 GB para um repositório Git (versão prévia pública): este limite de aplica apenas ao código-fonte. Para verificar se o arquivo do repositório está acima do limite, use a ferramenta git-sizer e analise o tamanho total do BLOB na saída. A ferramenta git-sizer também ajuda a identificar possíveis problemas relacionados a arquivos grandes, tamanho de BLOB, tamanho de commit e contagens de árvores que podem afetar as migrações.
  •         **Limite de tamanho 400 MiB para arquivos:** ao migrar um repositório com o GitHub Enterprise Importer, nenhum arquivo no repositório Git pode ter mais de 400 MiB. Considere o uso do Git LFS para armazenar arquivos grandes.
    
  •         **Objetos do Git LFS não migrados:** O Importer pode migrar repositórios que utilizam o Git LFS, mas os objetos do LFS em si não serão migrados. Eles podem ser enviados para o destino da migração como uma tarefa de acompanhamento após a conclusão da migração.
    
  •         **Funcionalidade de pesquisa de código atrasada:** a reindexação do índice de pesquisa pode levar algumas horas após a migração de um repositório, e as pesquisas de código podem retornar resultados inesperados até que a reindexação seja concluída.
    
  •         **Os conjuntos de regras configurados para sua organização podem causar falha nas migrações**: por exemplo, se você tiver configurado uma regra que exige que os endereços de email dos autores de commits terminem com `@monalisa.cat` e o repositório que você está migrando contém commits que não obedecem a essa regra, sua migração falhará.
    
  •         **O conteúdo do manequim pode não ser pesquisável**: os manequins são usuários de espaço reservado aos quais o conteúdo importado (como problemas, solicitações de pull, comentários, etc.) está associado. Quando você pesquisa conteúdo associado a um manequim, como problemas atribuídos, os problemas podem não ser encontrados. Uma vez que um manequim é recuperado, o conteúdo deve ser acessado através do novo proprietário.
    

Próximas etapas

No próximo artigo, você decidirá quem realizará a migração e preparará o acesso tanto ao Azure DevOps quanto ao GitHub Enterprise Cloud. Confira Fase 2. Gerenciar acesso.