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.

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

Aviso: Bloquear um repositório impede todos os acessos de leitura ou gravação ao repositório. Não é possível associar novas equipes ou colaboradores a um repositório bloqueado. Se você estiver realizando uma execução de teste, você não precisará bloquear o repositório. Ao fazer a migração dos dados de um repositório que está em uso,

GitHub recomenda fortemente o bloqueio do repositório. Para obter mais informações, consulte "Sobre migrações".

  1. SSH em your GitHub Enterprise Server instance. Para obter mais informações, consulte "Acessar o shell administrativo (SSH)".

    $ 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 your GitHub Enterprise Server instance:

    $ 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 preparar os dados de migração arquivados para fazer a importação para uma instância de GitHub Enterprise Server, consulte "Preparar-se para migrar dados para a sua empresa".

Esse documento ajudou você?

Política de Privacidade

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.