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 GitHub.com. 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ó. Para obter mais informações sobre o acesso SSH, confira "Acesar o shell administrativo (SSH)".
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 GitHub.com:
$ 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 "Preparação para migrar dados para o GitHub Enterprise Server".