Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Esta versão do GitHub Enterprise foi descontinuada em March 02, 2021. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Preparar-se para migrar dados para a sua empresa

Após gerar um arquivo de migração, você poderá importar os dados para a sua instância de destino do GitHub Enterprise Server. Antes de aplicar as alterações permanentemente na instância de destino, será possível revisá-las para resolver possíveis conflitos.

Neste artigo

Preparar os dados migrados para importação para GitHub Enterprise Server

  1. Usando o comando scp, copie o arquivo de migração gerado na organização ou instância de origem para o destino no GitHub Enterprise Server:

    $ scp -P 122 /path/to/archive/MIGRATION_GUID.tar.gz admin@hostname:/home/admin/
  2. Como administrador do site, SSH into your target GitHub Enterprise Server instance.

    $ ssh -p 122 admin@HOSTNAME
  3. Use o comando ghe-migrator prepare para preparar o arquivo para importação na instância de destino e gerar um novo GUID de Migração para uso nas etapas subsequentes:

    ghe-migrator prepare /home/admin/MIGRATION_GUID.tar.gz
    • Para começar uma nova tentativa de importação, execute o comando ghe-migrator novamente e obtenha um novo GUID de Migração.
    • Para especificar o local em que os arquivos de migração devem ser executados, acrescente o comando com --staging-path=/full/staging/path. O padrão é /data/user/tmp.

Gerar uma lista de conflitos de migração

  1. Usando o comando ghe-migrator conflicts com o GUID de migração, gere um arquivo conflicts.csv:
    $ ghe-migrator conflicts -g MIGRATION_GUID > conflicts.csv
  2. Se houver conflitos, usando o comando scp, copie conflicts.csv para o seu computador local:
    $ scp -P 122 admin@hostname:conflicts.csv ~/Desktop
  3. Continue em "Resolver conflitos de migração ou configurar mapeamentos personalizados".

Revisar conflitos de migração

  1. Usando o editor de texto ou um software de planilha compatível com CSV, abra o arquivo conflicts.csv.
  2. Seguindo os exemplos e tabelas de referência abaixo, revise o arquivo conflicts.csv para garantir a execução das ações adequadas na importação.

O arquivo conflicts.csv contém um mapa de migração de conflitos e ações recomendadas. O mapa de migração lista quais dados estão sendo migrados da origem e como eles serão aplicados ao destino.

nome_modelourl_origemurl_destinoação_recomendada
usuáriohttps://exemplo-gh.source/octocathttps://exemplo-gh.target/octocatmap
organizaçãohttps://exemplo-gh.source/octo-orghttps://exemplo-gh.target/octo-orgmap
repositóriohttps://exemplo-gh.source/octo-org/widgetshttps://exemplo-gh.target/octo-org/widgetsrename
equipehttps://exemplo-gh.source/orgs/octo-org/teams/adminshttps://exemplo-gh.target/orgs/octo-org/teams/adminsmerge

Cada linha do arquivo conflicts.csv mostra as seguintes informações:

NomeDescrição
nome_modeloTipo de dado que está sendo alterado.
url_origemURL de origem dos dados.
url_destinoURL esperada de destino dos dados.
ação_recomendadaAção preferencial que o ghe-migrator vai executar ao importar os dados.

Mapeamentos possíveis para cada tipo de registro

O ghe-migrator pode executar várias ações de mapeamento diferentes quando transfere os dados:

AçãoDescriçãoModelos aplicáveis
import(padrão) Os dados da origem são importados para o destino.Todos os tipos de registro
mapOs dados da origem são substituídos pelos dados existentes no destino.Usuários, organizações, repositórios
renameOs dados da origem são renomeados e copiados para o destino.Usuários, organizações, repositórios
map_or_renameSe houver destino, mapeie para o destino. Se não houver, renomeie o modelo importado.Usuários
mergeOs dados da origem são combinados com os dados existentes no destino.Equipes

É altamente recomendável que você revise o arquivo conflicts.csv e utilize ghe-migror audit para garantir que as ações adequadas estão sendo tomadas. Se tudo estiver em ordem, você poderá continuar a "Migrar os dados para a sua empresa".

Resolver conflitos de migração ou configurar mapeamentos personalizados

Se achar que o ghe-migrator fará uma alteração incorreta, você poderá fazer correções alterando os dados em conflicts.csv. Você pode alterar qualquer linha no arquivo conflicts.csv.

Por exemplo, digamos que você perceba que o usuário octocat da origem está sendo mapeado para octocat no destino:

nome_modelourl_origemurl_destinoação_recomendada
usuáriohttps://exemplo-gh.source/octocathttps://exemplo-gh.target/octocatmap

Você pode optar por mapear o usuário para outro usuário no destino. Suponha que você saiba que octocat deveria ser monalisa no destino. É possível alterar a coluna url_destino no arquivo conflicts.csv para se referir a monalisa:

nome_modelourl_origemurl_destinoação_recomendada
usuáriohttps://exemplo-gh.source/octocathttps://exemplo-gh.target/monalisamap

Em outra situação, se você quiser renomear o repositório octo-org/widgets como octo-org/amazing-widgets na instância de destino, altere url_destino para octo-org/amazing-widgets e ação_recomendada para rename:

nome_modelourl_origemurl_destinoação_recomendada
repositóriohttps://exemplo-gh.source/octo-org/widgetshttps://exemplo-gh.target/octo-org/amazing-widgetsrename

Adicionar mapeamentos personalizados

Uma situação comum durante as migrações é o cenário em que os usuários migrados têm nomes de usuários diferentes no destino e na origem.

Com uma lista de nomes de usuários da origem e uma lista de nomes de usuários do destino, você pode criar um arquivo CSV com mapeamentos personalizados e aplicá-la para garantir que o nome de usuário e o conteúdo de cada usuário sejam atribuídos corretamente no fim da migração.

Você pode gerar um arquivo em formato CSV dos usuários que estão sendo migrados para aplicar mapeamentos personalizados usando o comando ghe-migrator audit:

$ ghe-migrator audit -m user -g MIGRATION_GUID > users.csv

Agora você pode editar esse CSV, inserir a nova URL para cada usuário que pretende mapear ou renomear e atualizar a quarta coluna para aplicar map ou rename.

Por exemplo, para renomear o usuário octocat como monalisa no destino https://example-gh.target, você deveria criar uma linha com o seguinte conteúdo:

nome_modelourl_origemurl_destinoestado
usuáriohttps://exemplo-gh.source/octocathttps://exemplo-gh.target/monalisarename

O mesmo processo pode ser usado para criar mapeamentos em cada registro compatível com mapeamentos personalizados. Para obter mais informações, consulte a nossa tabela com as possibilidades de mapeamento em registros.

Aplicar dados de migração modificados

  1. Depois de fazer as alterações, use o comando scp para aplicar seu arquivo conflicts.csv modificado (ou qualquer outro csv de mapeamento no formato correto) à instância de destino:

    $ scp -P 122 ~/Desktop/conflicts.csv admin@hostname:/home/admin/
  2. Remapeie os dados de migração usando o comando ghe-migrator map, passando pelo caminho do seu arquivo csv modificado e do GUID de Migração:

    $ ghe-migrator map -i conflicts.csv  -g MIGRATION_GUID
  3. Se o comando ghe-migrator map -i conflicts.csv -g MIGRATION_GUID ainda reportar conflitos, execute o processo de resolução de conflitos de migração novamente.