Skip to main content

Exportar dados de migração do .com

  1. Verifique se você tem permissões de proprietário nos repositórios da organização de origem.

  2. Gerar um token de acesso com os escopos repo e admin:org no .com.

  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.

Observação

As relações de fork não persistem após uma migração.

Para exportar dados de repositório por meio do .com, use a API de Migrações.

No momento, a API de Migrações está em período de exibição. Ou seja, os pontos de extremidade e os parâmetros podem mudar no futuro.

Observação

Bloquear um repositório impede todo o acesso de gravação a ele. 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. Quando você migra dados de um repositório que está em uso, o recomenda o bloqueio do repositório. Para saber mais, confira Sobre o ghe-migrator.

  1. Informe os integrantes da organização que você fará uma migração. Dependendo do número de repositórios exportados, a exportação pode levar vários minutos. A migração completa (com importação) pode levar horas. Portanto, é recomendável fazer uma avaliação para determinar a duração do processo completo. Para saber mais, confira Sobre o ghe-migrator.

  2. Inicie uma migração enviando uma solicitação POST ao ponto de extremidade da migração. Você precisará de:

    • Token de acesso para autenticação;

    • Uma lista dos repositórios que você deseja migrar:

      curl -H "Authorization: Bearer _ACCESS_TOKEN" \
      -X POST \
      -H "Accept: application/vnd.+json" \
      -d'{"lock_repositories":true,"repositories":["ORG_NAME/REPO_NAME", "ORG_NAME/REPO_NAME"]}' \
      https://api..com/orgs/ORG_NAME/migrations
      
    • Caso deseje bloquear os repositórios antes de migrá-los, defina lock_repositories como true. Fazer isso é altamente recomendável.

    • Você pode excluir anexos de arquivo transmitindo exclude_attachments: true para o ponto de extremidade. Anexos de arquivos podem ser grandes e gerar um volume desnecessário no seu arquivo de migração final. O tamanho do arquivo final precisa ter menos de 20 GB.

    Essa solicitação retorna uma id exclusiva que representa a migração. Você precisará dele em ações subsequentes que envolvam a API de Migrações.

  3. Envie uma solicitação GET ao ponto de extremidade de status da migração para buscar o status de uma migração. Você precisará de:

    • Token de acesso para autenticação;

    • A id exclusiva da migração:

      curl -H "Authorization: Bearer _ACCESS_TOKEN" \
      -H "Accept: application/vnd.+json" \
      https://api..com/orgs/ORG_NAME/migrations/ID
      

    Os estados das migrações são os seguintes:

    • pending, que significa que a migração ainda não foi iniciada.
    • exporting, que significa que a migração está em andamento.
    • exported, que significa que a migração foi concluída com êxito.
    • failed, que significa que a migração falhou.
  4. Depois que a migração for exportada, baixe o arquivo de migração enviando uma solicitação GET ao ponto de extremidade de download da migração. Você precisará de:

    • Token de acesso para autenticação;

    • A id exclusiva da migração:

      curl -H "Authorization: Bearer _ACCESS_TOKEN" \
      -H "Accept: application/vnd.+json" \
      -L -o migration_archive.tar.gz \
      https://api..com/orgs/ORG_NAME/migrations/ID/archive
      
  5. O arquivo de migração é excluído automaticamente após sete dias. Se preferir excluí-lo mais cedo, envie uma solicitação DELETE ao ponto de extremidade de exclusão do arquivo de migração. Você precisará de:

    • Token de acesso para autenticação;

    • A id exclusiva da migração:

      curl -H "Authorization: Bearer _ACCESS_TOKEN" \
      -X DELETE \
      -H "Accept: application/vnd.+json" \
      https://api..com/orgs/ORG_NAME/migrations/ID/archive
      
  6. Para preparar os dados de migração arquivados para importação para uma instância do Enterprise Server, confira Como migrar dados para o Enterprise Server.