Skip to main content

Fase 4. Preparar sua migração do Azure DevOps para o GitHub

Planeje sua migração entendendo sua linha do tempo, quais dados serão migrados e sua estrutura organizacional.

Determinar quanto você precisa migrar

Determine a linha do tempo, que determinará, principalmente, sua abordagem. A primeira etapa para determinar a linha do tempo é obter um inventário do que você precisa migrar.

  • Número de repositórios
  • Número de solicitações de pull

Observação

O tempo de migração baseia-se, em grande parte, no número de solicitações de pull de um repositório. Se você quiser migrar 1.000 repositórios e cada repositório tiver em média 100 solicitações de pull, sua migração provavelmente será muito rápida. Se você quiser migrar apenas 100 repositórios, mas cada um dos repositórios tiver 75.000 solicitações de pull, a migração levará muito mais tempo e exigirá mais planejamento e teste.

Recomendamos o comando inventory-report no ADO2GH extension of the GitHub CLI. Esse comando se conectará à API do Azure DevOps e criará vários arquivos CSV. repos.csv contém informações sobre seus repositórios, incluindo o número de solicitações de pull.

Para produzir os arquivos CSV, use o comando a seguir, substituindo YOUR_ADO_ORG por sua organização no Azure DevOps.

Shell
gh ado2gh inventory-report --ado-org YOUR_ADO_ORG

Depois de fazer o inventário dos repositórios necessários para migrar, avalie os dados de inventário em relação à linha do tempo desejada.

  • Se a sua organização puder suportar um grau mais alto de alteração, você poderá migrar todos os repositórios de uma só vez, concluindo os esforços de migração em alguns dias.
  • Se você tiver equipes que não podem migrar ao mesmo tempo, convém colocar em lote e escalonar suas migrações para se ajustarem às linhas do tempo das equipes, estendendo seu esforço de migração.

Determinar a estrutura organizacional do GitHub

Em seguida, planeje a estrutura organizacional que você criará no GitHub. O ADO e o GitHub têm diferentes maneiras de organizar o trabalho de uma empresa.

  • ADO: Organização > projeto de equipe > repositórios
  • GitHub: Empresa > organização > repositórios

Depois de migrar para o GitHub, você deve ter apenas uma conta corporativa e um pequeno número de organizações pertencentes a essa empresa. Cada organização do ADO deve corresponder a uma organização individual no GitHub.

Observação

Observação: o conceito de um projeto de equipe, que é usado para agrupar os repositórios no ADO, não existe no GitHub. Não recomendamos a criação de uma organização em GitHub para cada projeto de equipe no ADO, pois isso pode resultar em uma grande lista de repositórios não agrupados em cada organização. No entanto, você pode gerenciar o acesso a grupos de repositórios criando equipes.

Se você quiser dividir seu esforço de migração em lotes, a nova estrutura poderá ajudá-lo a determine-los. Se você tiver mais de uma organização no ADO e os repositórios de cada organização forem lotes de tamanho razoável, considere o envio em lote por organização.

  1. Decida qual será a estrutura da sua nova organização.
  2. Decida se você precisa dividir seu esforço de migração em lotes menores.
  3. Nesse caso, decida como deseja interromper as migrações.

Configurando permissões de repositório

Como as permissões do GitHub funcionam de maneira diferente do ADO, o GitHub Enterprise Importer não tenta migrar as permissões de repositório do ADO.

Quando você usa a CLI do ADO2GH, o GitHub Enterprise Importer criará duas equipes no GitHub para cada projeto de equipe no ADO. Cada equipe recebe um nível diferente de acesso a todos os repositórios originados do projeto de equipe.

EquipeAcesso aos repositórios migrados
TEAM-PROJECT-MaintainersMantenedor
Equipe-Projeto-AdministradoresAdmin

Para dar acesso aos repositórios migrados, você pode adicionar pessoas a essas equipes. Faça isso manualmente no GitHub ou, se optar por vincular as equipes a grupos do AAD (Azure Active Directory) durante a migração, gerenciando a associação a um grupo no AAD. Para obter mais informações sobre como gerenciar a associação à equipe, consulte Adicionar integrantes da organização a uma equipe.

Próximas etapas

Na próxima fase, você executará uma execução seca e, em seguida, migrará seus repositórios. Confira Fase 5. Migrar seus repositórios do Azure DevOps para o Github.