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ê consegue fazer SSH na instância.
-
Generate an access token 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
Nota: Bloquear um repositório impede que os usuários façam push para o repositório ou modifiquem os recursos de um repositório, como issues, etiquetas, marcos, wikis e comentários. Novas equipes e colaboradores não podem ser associados a um repositório bloqueado.
Se você estiver realizando uma execução de teste, não precisa bloquear repositórios. Caso contrário, é altamente recomendado. Para obter mais informações, consulte "Sobre migrações".
-
SSH em sua instância do GitHub Enterprise Server.
$ ssh -p 122 admin@HOSTNAME
-
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
- Se você estiver bloqueando o repositório, adicione
-
Quando solicitado, informe seu nome de usuário do GitHub Enterprise Server:
Insira o nome de usuário autorizado para a migração: admin
-
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: **************
-
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 subsequentesghe-migrator add
eghe-migrator export
para informar que oghe-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. -
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
-
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
-
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
.
- Para especificar o local em que os arquivos de migração devem ser executados, acrescente o comando com
-
Fechar a conexão com sua instância do GitHub Enterprise Server:
$ exit > logout > Connection to hostname closed.
-
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
-
Para importar os dados de migração arquivados para uma instância do GitHub Enterprise Server consulte "Importing migration data to GitHub Enterprise Server".