Preparar os dados migrados para importação para GitHub Enterprise Server
- 
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/
- 
Como administrador do site, SSH into your target GitHub Enterprise Server instance. $ ssh -p 122 admin@HOSTNAME
- 
Use o comando ghe-migrator preparepara 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-migratornovamente 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.
 
- Para começar uma nova tentativa de importação, execute o comando 
Gerar uma lista de conflitos de migração
- Usando o comando ghe-migrator conflictscom o GUID de migração, gere um arquivo conflicts.csv:$ ghe-migrator conflicts -g MIGRATION_GUID > conflicts.csv- Se nenhum conflito for relatado, você poderá importar os dados com segurança seguindo as etapas em "Migrar dados para a sua empresa".
 
- Se houver conflitos, usando o comando scp, copie conflicts.csv para o seu computador local:$ scp -P 122 admin@hostname:conflicts.csv ~/Desktop
- Continue em "Resolver conflitos de migração ou configurar mapeamentos personalizados".
Revisar conflitos de migração
- Usando o editor de texto ou um software de planilha compatível com CSV, abra o arquivo conflicts.csv.
- 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_modelo | url_origem | url_destino | ação_recomendada | 
|---|---|---|---|
| usuário | https://exemplo-gh.source/octocat | https://exemplo-gh.target/octocat | map | 
| organization | https://exemplo-gh.source/octo-org | https://exemplo-gh.target/octo-org | map | 
| repositório | https://exemplo-gh.source/octo-org/widgets | https://exemplo-gh.target/octo-org/widgets | rename | 
| equipe | https://exemplo-gh.source/orgs/octo-org/teams/admins | https://exemplo-gh.target/orgs/octo-org/teams/admins | merge | 
Cada linha do arquivo conflicts.csv mostra as seguintes informações:
| Nome | Descrição | 
|---|---|
| model_name | Tipo de dado que está sendo alterado. | 
| source_url | URL de origem dos dados. | 
| target_url | URL esperada de destino dos dados. | 
| recommended_action | Ação preferencial que o ghe-migratorvai 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ção | Descrição | Modelos aplicáveis | 
|---|---|---|
| import | (padrão) Os dados da origem são importados para o destino. | Todos os tipos de registro | 
| map | Os dados da origem são substituídos pelos dados existentes no destino. | Usuários, organizações, repositórios | 
| rename | Os dados da origem são renomeados e copiados para o destino. | Usuários, organizações, repositórios | 
| map_or_rename | Se houver destino, mapeie para o destino. Se não houver, renomeie o modelo importado. | Usuários | 
| merge | Os 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_modelo | url_origem | url_destino | ação_recomendada | 
|---|---|---|---|
| usuário | https://exemplo-gh.source/octocat | https://exemplo-gh.target/octocat | map | 
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_modelo | url_origem | url_destino | ação_recomendada | 
|---|---|---|---|
| usuário | https://exemplo-gh.source/octocat | https://exemplo-gh.target/monalisa | map | 
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_modelo | url_origem | url_destino | ação_recomendada | 
|---|---|---|---|
| repositório | https://exemplo-gh.source/octo-org/widgets | https://exemplo-gh.target/octo-org/amazing-widgets | rename | 
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.csvAgora 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_modelo | url_origem | url_destino | estado | 
|---|---|---|---|
| usuário | https://exemplo-gh.source/octocat | https://exemplo-gh.target/monalisa | rename | 
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
- 
Depois de fazer as alterações, use o comando scppara 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/
- 
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
- 
Se o comando ghe-migrator map -i conflicts.csv -g MIGRATION_GUIDainda reportar conflitos, execute o processo de resolução de conflitos de migração novamente.