Preparar a instância de origem de GitHub Enterprise Server
-
Verifique se você é administrador do site na origem do GitHub Enterprise Server. A melhor maneira de fazer isso é verificar se você pode entrar na instância com o SSH.
-
Gerar um token de acesso com os escopos
repoeadmin:orgna instância de origem do GitHub Enterprise Server. -
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
Observação: bloquear um repositório impede todo o acesso de 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. Quando você migra dados de um repositório que está em uso, o GitHub recomenda o bloqueio do repositório. Para obter mais informações, confira "Sobre o ghe-migrator".
-
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ó. Substitua HOSTNAME pelo nome do host da instância ou pelo nome do host ou endereço IP de um nó. Para obter mais informações, confira "Acesar o shell administrativo (SSH)".
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME -
Para preparar um repositório para exportação, use o comando
ghe-migrator addcom a URL do repositório:-
Se estiver bloqueando o repositório, acrescente
--lockao comando. Se estiver executando uma execução de avaliação,--locknão será necessário.ghe-migrator add https://HOSTNAME/USERNAME/REPO-NAME --lock -
Você pode excluir anexos de arquivo acrescentando
--exclude_attachmentsao 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 addcom o sinalizador-ie o caminho para seu arquivo de texto.ghe-migrator add -i PATH/TO/YOUR/REPOSITORY_URL.txt
-
-
Quando solicitado, informe seu nome de usuário do GitHub Enterprise Server:
Enter username authorized for migration: admin -
Quando for solicitado que você forneça um personal access token, insira o token de acesso criado em "Como preparar a instância de origem do GitHub Enterprise Server":
Enter personal access token: ************** -
Após a conclusão do
ghe-migrator add, ele imprimirá o "GUID de Migração" exclusivo gerado para identificar a exportação e uma lista dos recursos adicionados à exportação. Você usará o GUID de Migração gerado nas etapas seguintesghe-migrator addeghe-migrator exportpara informar oghe-migratorpara 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 | 2Sempre 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 addnovamente sem o 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 importação. -
Para adicionar mais repositórios à mesma exportação, use o comando
ghe-migrator addcom 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-REPO-NAME -g MIGRATION-GUID --lock -
Quando terminar de adicionar repositórios, gere o arquivo de migração usando o comando
ghe-migrator exportcom o sinalizador-ge 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 preparados, acrescente
--staging-path=/full/staging/pathao comando. Assume o padrão de/data/user/tmp.
- Para especificar o local em que os arquivos de migração devem ser preparados, acrescente
-
Encerre a conexão com o sua instância do GitHub Enterprise Server:
$ exit > logout > Connection to HOSTNAME closed. -
Copie o arquivo de migração para o 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 -
Para preparar os dados de migração arquivados para importação para uma instância do GitHub Enterprise Server, confira "Como migrar dados para o GitHub Enterprise Server".