Skip to main content

Esta versão do GitHub Enterprise Server foi descontinuada em 2023-09-12. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos, atualize para a última versão do GitHub Enterprise Server. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.

Como migrar dados para o GitHub Enterprise Server

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.

Aplicar os dados importados em GitHub Enterprise Server

Antes de migrar dados para seu GitHub Enterprise Server, você deve prepará-los e resolver quaisquer conflitos. Para obter mais informações, confira "Preparação para migrar dados para o GitHub Enterprise Server".

Depois de preparar os dados e os conflitos de resolução, você poderá aplicar os dados importados em GitHub Enterprise Server.

  1. Como administrador do site, use o SSH para entrar na sua instância do GitHub Enterprise Server.
ssh -p 122 admin@HOSTNAME
  1. Usando o comando ghe-migrator import, inicie o processo de importação. Você precisará de:

    $ ghe-migrator import /home/admin/MIGRATION-GUID.tar.gz -g MIGRATION-GUID -u USERNAME -p TOKEN
    
    > Starting GitHub::Migrator
    > Import 100% complete /
    
    • Para especificar o local em que os arquivos de migração devem ser preparados, acrescente --staging-path=/full/staging/path ao comando. Assume o padrão de /data/user/tmp.

Revisar dados de migração

Por padrão, ghe-migrator audit retorna todos os registros. Também é possível filtrar os registros por:

  • Tipos de registro;
  • Estado de registro.

Os tipos de registros correspondem aos encontrados nos dados migrados.

Filtros por tipo de registro

Tipo de registroNome do filtro
Usuáriosuser
Organizaçõesorganization
Repositóriosrepository
Teamsteam
Marcosmilestone
Quadros de projetoproject
Problemasissue
Comentários dos problemasissue_comment
Solicitações de pullpull_request
Revisões de pull requestpull_request_review
Comentários de commitcommit_comment
Comentários das revisões de pull requestpull_request_review_comment
Versõesrelease
Ações feitas em problemas ou em pull requestsissue_event
Branches protegidosprotected_branch

Filtros por estado de registro

Estado de registroDescrição
exportO registro será exportado.
importO registro será importado.
mapO registro será mapeado.
renameO registro será renomeado.
mergeO registro passará por merge.
exportedO registro foi exportado com êxito.
importedO registro foi importado com êxito.
mappedO registro foi mapeado com êxito.
renamedO registro foi renomeado com êxito.
mergedO registro passou por merge com êxito.
failed_exportHouve falha ao exportar o registro.
failed_importHouve falha ao importar o registro.
failed_mapHouve falha ao mapear o registro.
failed_renameHouve falha ao renomear o registro.
failed_mergeHouve falha ao fazer merge no registro.

Filtrar registros auditados

Com o comando ghe-migrator audit, você pode filtrar os registros com base no tipo usando o sinalizador -m. Da mesma forma, você pode filtrar o estado de importação usando o sinalizador -s. O comando se parece com o seguinte:

ghe-migrator audit -m RECORD_TYPE -s STATE -g MIGRATION-GUID

Por exemplo, para visualizar todas as organizações e equipes importadas com êxito, você digitaria:

$ ghe-migrator audit -m organization,team -s mapped,renamed -g MIGRATION-GUID
> model_name,source_url,target_url,state
> organization,https://gh.source/octo-org/,https://ghe.target/octo-org/,renamed

Recomendamos fortemente auditar todas as importações com falha. Para fazer isso, você vai inserir:

$ ghe-migrator audit -s failed_import,failed_map,failed_rename,failed_merge -g MIGRATION-GUID
> model_name,source_url,target_url,state
> user,https://gh.source/octocat,https://gh.target/octocat,failed
> repository,https://gh.source/octo-org/octo-project,https://ghe.target/octo-org/octo-project,failed

Em caso de problemas com falhas na importação, entre em contato com o Suporte do GitHub Enterprise.

Concluir a importação em GitHub Enterprise Server

Depois que sua migração for aplicada à sua instância de destino e você tiver revisado a migração, você desbloqueará os repositórios e os excluirá da fonte. Antes de excluir os dados da origem, é recomendável aguardar cerca de duas semanas para garantir o funcionamento adequado de todos os procedimentos.

Desbloquear repositórios na instância de destino

  1. Conecte-se via SSH ao sua instância do GitHub Enterprise Server. Se sua instância for composta por vários nós, por exemplo, se a alta disponibilidade ou a replicação geográfica estiver configurada, efetue SSH no nó primário. Se você usar um cluster, poderá efetuar SSH em qualquer nó. Para obter mais informações sobre o acesso SSH, confira "Acesar o shell administrativo (SSH)".

    ssh -p 122 admin@HOSTNAME
    
  2. Desbloqueie todos os repositórios importados com o comando ghe-migrator unlock. Você precisará de sua GUID de Migração:

$ ghe-migrator unlock -g MIGRATION-GUID
> Unlocked octo-org/octo-project

Aviso: se o repositório contiver fluxos de trabalho do GitHub Actions usando o gatilho schedule, esses fluxos de trabalho não serão executados automaticamente após uma importação. Para iniciar os fluxos de trabalho agendados mais uma vez, envie uma confirmação para o repositório. Para obter mais informações, confira "Eventos que disparam fluxos de trabalho".

Desbloquear repositórios na origem

Desbloquear repositórios de uma organização no GitHub.com

Para desbloquear os repositórios em uma organização do GitHub.com, você enviará uma solicitação DELETE para o ponto de extremidade de desbloqueio da migração. Você precisará de:

  • Token de acesso para autenticação;
  • A id exclusiva da migração
  • Nome do repositório a ser desbloqueado.
curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" -X DELETE \
  -H "Accept: application/vnd.github.wyandotte-preview+json" \
  https://api.github.com/orgs/ORG-NAME/migrations/ID/repos/REPO_NAME/lock

Excluir repositórios de uma organização no GitHub.com

Depois de desbloquear os repositórios da organização do GitHub.com, você deve excluir todos os repositórios já migrados usando o ponto de extremidade de exclusão do repositório. Você precisará do token de acesso para autenticação:

curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" -X DELETE \
  https://api.github.com/repos/ORG-NAME/REPO_NAME

Desbloquear repositórios de uma instância do GitHub Enterprise Server

  1. Conecte-se via SSH ao sua instância do GitHub Enterprise Server. Se sua instância for composta por vários nós, por exemplo, se a alta disponibilidade ou a replicação geográfica estiver configurada, efetue SSH no nó primário. Se você usar um cluster, poderá efetuar SSH em qualquer nó. Para obter mais informações sobre o acesso SSH, confira "Acesar o shell administrativo (SSH)".

    ssh -p 122 admin@HOSTNAME
    
  2. Desbloqueie todos os repositórios importados com o comando ghe-migrator unlock. Você precisará de sua GUID de Migração:

$ ghe-migrator unlock -g MIGRATION-GUID
> Unlocked octo-org/octo-project