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
repo
eadmin:org
na 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 add
com a URL do repositório:-
Se estiver bloqueando o repositório, acrescente
--lock
ao comando. Se estiver executando uma execução de avaliação,--lock
não será necessário.ghe-migrator add https://HOSTNAME/USERNAME/REPO-NAME --lock
-
Você pode excluir anexos de arquivo acrescentando
--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 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 add
eghe-migrator export
para informar oghe-migrator
para 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 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 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-REPO-NAME -g MIGRATION-GUID --lock
-
Quando terminar de adicionar 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 preparados, acrescente
--staging-path=/full/staging/path
ao 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".