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 será descontinuada em Esta versão do GitHub Enterprise foi descontinuada em 2020-08-20. 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.

Versão do artigo: Enterprise Server 2.18

Exportar dados de migração da sua empresa

Para alterar as plataformas ou mover de uma instância de teste para uma instância de produção você pode exportar os dados de migração de uma instância do GitHub Enterprise Server preparando a instância, bloqueando os repositórios e gerando um arquivo de migração.

Neste artigo

Preparar a instância de origem de GitHub Enterprise Server

  1. Verifique se você é administrador do site na origem do GitHub Enterprise Server. A melhor maneira de fazer isso é verificar se você consegue fazer SSH na instância.

  2. Generate an access token com os escopos repo e admin:org na instância de origem do GitHub Enterprise Server.

  3. Para minimizar o tempo de inatividade, faça uma lista de repositórios que você deseja exportar a partir da instância de origem. É possível adicionar vários repositórios a uma exportação de uma vez usando um arquivo de texto que lista a URL de cada repositório em uma linha separada.

Exportar os repositórios de origem de GitHub Enterprise Server

Nota: Bloquear um repositório impede que os usuários façam push para o repositório ou modifiquem os recursos de um repositório, como issues, etiquetas, marcos, wikis e comentários. Novas equipes e colaboradores não podem ser associados a um repositório bloqueado.

Se você estiver realizando uma execução de teste, não precisa bloquear repositórios. Caso contrário, é altamente recomendado. Para obter mais informações, consulte "Sobre migrações".

  1. SSH em sua instância do GitHub Enterprise Server.

    $ ssh -p 122 admin@HOSTNAME
  2. Para preparar a exportação de um repositório, use o comando ghe-migrator add com a URL do repositório:

    • Se você estiver bloqueando o repositório, adicione --lock ao comando. Se estiver executando um teste, não será necessário incluir --lock.
      $ ghe-migrator add https://hostname/username/reponame --lock
    • Você pode excluir anexos de arquivos adicionando --exclude_attachments ao comando. Anexos de arquivos podem ser grandes e gerar um volume desnecessário no seu arquivo de migração final.
    • Para preparar a exportação de vários repositórios de uma só vez, crie um arquivo de texto listando cada URL do repositório em uma linha separada e execute o comando ghe-migrator add com o sinalizador -i e o caminho para o seu arquivo de texto.
      $ ghe-migrator add -i PATH/TO/YOUR/REPOSITORY_URLS.txt
  3. Quando solicitado, informe seu nome de usuário do GitHub Enterprise Server:

    Insira o nome de usuário autorizado para a migração: admin
  4. Quando o token de acesso pessoal for solicitado, informe o token de acesso que você criou na seção "Preparar a instância de origem do GitHub Enterprise Server":

    Insira o token de acesso pessoal:  **************
  5. Após a conclusão do ghe-migrator add, ele imprimirá o "GUID de Migração" exclusivo gerado para identificar a exportação e a lista dos recursos adicionados à exportação. Você usará o GUID de Migração gerado nas etapas subsequentes ghe-migrator add e ghe-migrator export para informar que o ghe-migrator deve continuar operando na mesma exportação.

    > 101 models added to export
    > Migration GUID: example-migration-guid
    > Number of records in this migration:
    > users                        |  5
    > organizations                |  1
    > repositories                 |  1
    > teams                        |  3
    > protected_branches           |  1
    > pull_request_reviews         |  1
    > milestones                   |  1
    > issues                       |  3
    > pull_requests                |  5
    > pull_request_review_comments |  4
    > commit_comments              |  2
    > issue_comments               | 10
    > issue_events                 | 63
    > releases                     |  3
    > attachments                  |  4
    > projects                     |  2

    Sempre que você adicionar um novo repositório com o GUID de Migração atual, ele atualizará a exportação atual. Se você executar ghe-migrator add novamente sem GUID de Migração, ele vai iniciar uma nova exportação e gerar um novo GUID de Migração. Não reutilize o GUID de Migração gerado durante uma exportação quando você começar a preparar a migração para importar.

  6. Se você bloqueou o repositório de origem, é possível usar o comando ghe-migrator target_url para personalizar uma mensagem de bloqueio na página de repositório que vincula ao novo local do repositório. Informe a URL do repositório de origem, a URL do repositório de destino e o GUID de Migração da Etapa 5:

    $ ghe-migrator target_url https://hostname/username/reponame https://target_hostname/target_username/target_reponame -g MIGRATION_GUID
  7. Para adicionar mais repositórios à mesma exportação, use o comando ghe-migrator add com o sinalizador -g. Informe a nova URL do repositório e o GUID de Migração da Etapa 5:

    $ ghe-migrator add https://hostname/username/other_reponame -g MIGRATION_GUID --lock
  8. Quando terminar de adicionar os repositórios, gere o arquivo de migração usando o comando ghe-migrator export com o sinalizador -g e o GUID de Migração da Etapa 5:

    $ ghe-migrator export -g MIGRATION_GUID
    > Archive saved to: /data/github/current/tmp/MIGRATION_GUID.tar.gz
    • 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.
  9. Fechar a conexão com sua instância do GitHub Enterprise Server:

    $ exit
    > logout
    > Connection to hostname closed.
  10. Copie o arquivo de migração para o seu computador usando o comando scp. O arquivo terá o nome do GUID de Migração:

    $ scp -P 122 admin@hostname:/data/github/current/tmp/MIGRATION_GUID.tar.gz ~/Desktop
  11. Para importar os dados de migração arquivados para uma instância do GitHub Enterprise Server consulte "Importing migration data to GitHub Enterprise Server".

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato