Sobre migrações de repositório com GitHub Enterprise Importer
Você pode executar a migração com a GitHub CLI ou a API.
A GitHub CLI simplifica o processo de migração e é recomendada para a maioria dos clientes. Os clientes avançados com necessidades de personalização intensiva podem usar a API para criar integrações próprias ao GitHub Enterprise Importer.
Se você optar por usar a API, precisará escrever seus scripts ou usar um cliente HTTP como o Insomnia. Você pode saber mais sobre como começar a usar as APIs de GitHub em Introdução à API REST e Realizar chamadas com o GraphQL.
Para migrar seus repositórios de GitHub Enterprise Server para GitHub Enterprise Cloud com as APIs, você irá:
- Criar um personal access token para a organização de origem e de destino
- Recupere o
ownerIdda organização de destino em GitHub Enterprise Cloud - Configure uma origem de migração via API GraphQL de GitHub para identificar de onde você está migrando
- Para cada repositório que você deseja migrar, repita essas etapas.
- Use a API sua instância do GitHub Enterprise Server REST para gerar arquivos de migração para seu repositório
- Carregar seus arquivos de migração para um local onde eles podem ser acessados por GitHub
- Inicie sua migração usando a API do GraphQL para o destino de migração, transmitindo as URLs de arquivo
- Verificar o status da migração por meio da API do GraphQL
- Validar a migração e verificar o log de erros
Para ver instruções para usar a API, use o alternador de ferramentas na parte superior da página.
Para ver instruções para usar os dados da GitHub CLI, use o alternador de ferramentas na parte superior da página.
Se a organização de destino ou a empresa tiver conjuntos de regras habilitados, o histórico do repositório migrado poderá violar essas regras. Para permitir a migração sem desabilitar seus conjuntos de regras, adicione "Migrações de repositório" à lista de bypass para cada conjunto de regras aplicável. Esse bypass se aplica somente durante a migração. Após a conclusão, os conjuntos de regras serão aplicados em todas as novas contribuições.
Para configurar o bypass:
- Navegue até cada conjunto de regras da empresa ou da organização.
- Na seção "Lista de bypass", clique em Adicionar bypass.
- Selecione migrações de repositório.
Para obter mais informações, consulte Criar conjuntos de regras para repositórios na sua organização e Configuração de exceções de regras para migrações de repositório.
Pré-requisitos
- Recomendamos fortemente que você faça uma execução de avaliação da migração e conclua a migração de produção logo em seguida. Para saber mais sobre execuções de avaliação, confira Visão geral de uma migração entre produtos GitHub.
- Certifique-se de entender os dados que serão migrados e as limitações de suporte conhecidas do Importador. Para obter mais informações, consulte Sobre migrações entre produtos do GitHub com GitHub Enterprise Importer.
- Embora não seja necessário, recomendamos interromper o trabalho durante a migração de produção. O Importer não dá suporte a migrações delta, ou seja, as alterações que ocorrerem durante a migração não serão migradas. Se você optar por não interromper o trabalho durante a migração de produção, precisará migrar manualmente essas alterações.
- Nas organizações de origem e de destino, você precisa ser um proprietário da organização ou receber a função de migrador. Para saber mais, confira Gerenciando o acesso para uma migração entre produtos GitHub.
- Se você usar GitHub Enterprise Server 3.8 ou superior, para configurar o armazenamento de blobs para arquivos exportados, precisará de acesso ao Console de Gerenciamento.
Etapa 1. Crie seu personal access token
- Crie e registre um personal access token (classic) que será autenticado para a organização de destino no GitHub Enterprise Cloud, verificando se o token atende a todos os requisitos. Para saber mais, confira Gerenciando o acesso para uma migração entre produtos GitHub.
- Crie e registre um personal access token que será autenticado para a organização de origem, verificando se esse token também atende a todos os mesmos requisitos.
Etapa 2: Obter a ownerId da organização de destino
Como proprietário de uma organização no GitHub Enterprise Cloud, use a consulta GetOrgInfo para retornar a ownerId, também chamada de ID da organização, na organização da qual você deseja ser proprietário dos repositórios migrados. Você precisará da ownerId para identificar seu destino de migração.
Consulta GetOrgInfo
query(
$login: String!
){
organization (login: $login)
{
login
id
name
databaseId
}
}
| Variável da consulta | Descrição |
|---|---|
login | O nome da sua organização. |
Resposta GetOrgInfo
{
"data": {
"organization": {
"login": "Octo",
"id": "MDEyOk9yZ2FuaXphdGlvbjU2MTA=",
"name": "Octo-org",
"databaseId": 5610
}
}
}
Neste exemplo, MDEyOk9yZ2FuaXphdGlvbjU2MTA= é a ID da organização ou ownerId, que usaremos na próxima etapa.
Etapa 3: Configurar o armazenamento de blobs
Ao executar uma migração de repositório, você deve armazenar os dados do repositório em um local que GitHub Enterprise Importer possa acessar. Isso pode ser feito assim:
- Usando um armazenamento local na instância do GHES (GHES 3.16 e posterior)
- Usando um provedor de armazenamento de blobs
Usar armazenamento local (GHES 3.16+)
Quando você executa uma migração com armazenamento local, os dados de arquivo morto são gravados no disco no sua instância do GitHub Enterprise Server, sem a necessidade de um provedor de armazenamento em nuvem.
- Se você não tiver regras de firewall bloqueando o tráfego de saída de GitHub Enterprise Server, o GitHub Enterprise Importer poderá recuperar automaticamente o arquivo armazenado do GitHub Enterprise Server.
- Se você tiver regras de firewall em vigor e não quiser permitir o acesso a GitHub Enterprise Importer, poderá carregar seus dados de arquivo morto em GitHub-owned blob storage para GitHub Enterprise Importer para acessar. Para fazer isso manualmente, confira Carregar seus arquivos de migração para o armazenamento de blobs de propriedade do GitHub na versão da API deste artigo.
- Em uma conta administrativa no GitHub Enterprise Server, no canto superior direito de qualquer página, clique em .
- Na barra lateral " Site admin", clique em Console de Gerenciamento.
- Entre no Console de Gerenciamento.
- Na barra lateral à esquerda, clique em Migrações.
- Clique em Habilitar as Migrações do GitHub.
- Em "Armazenamento de Migrações", clique em Armazenamento Local.
- Clique em Salvar alterações.
Ao executar a migração, monitore o espaço em disco no GitHub Enterprise Server. Os arquivos de migração são excluídos automaticamente após sete dias. Para liberar espaço, você pode excluir um arquivo morto usando o Endpoints da API REST para migrações de organizações.
Usando um provedor de armazenamento de blobs
Se sua GitHub Enterprise Server instância estiver atrás de um firewall, talvez seja necessário configurar o armazenamento de blobs com um serviço de nuvem externo.
Primeiro, você precisa configurar o armazenamento de blobs com um provedor compatível. Em seguida, se você estiver usando um provedor de nuvem, deverá configurar suas credenciais para o provedor de armazenamento no Console de Gerenciamento ou GitHub CLI.
A GitHub CLI dá suporte aos seguintes provedores de armazenamento de blobs:
- AWS (Amazon Web Services) S3
- Armazenamento do Blobs do Azure
Observação
Você só precisará configurar o armazenamento de blobs se usar GitHub Enterprise Server as versões 3.8 ou superior. Se você usar a versão 3.7 ou anterior de GitHub Enterprise Server, vá para Etapa 4: configurar uma fonte de migração em GitHub Enterprise Cloud.
O armazenamento de blobs é necessário para migrar repositórios com metadados ou origem do Git grandes. Se você usar GitHub Enterprise Server as versões 3.7 ou inferior, não poderá executar migrações em que as exportações de origem ou metadados do Git excedam 2 GB. Para executar essas migrações, atualize para a versão 3.8 ou superior de GitHub Enterprise Server.
Como configurar um bucket de armazenamento da AWS S3
Na AWS, configure um bucket da S3. Para obter mais informações, confira Como criar um bucket na documentação da AWS.
Você também precisará de uma chave de acesso da AWS e uma chave secreta com as seguintes permissões:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:ListBucketMultipartUploads",
"s3:AbortMultipartUpload",
"s3:ListBucket",
"s3:DeleteObject",
"s3:ListMultipartUploadParts"
],
"Resource": [
"arn:aws:s3:::github-migration-bucket",
"arn:aws:s3:::github-migration-bucket/*"
]
}
]
}
Observação
O GitHub Enterprise Importer não exclui o arquivo da AWS após a conclusão da migração. Para reduzir os custos de armazenamento, recomendamos configurar a exclusão automática do arquivo após um período. Para obter mais informações, confira Como definir a configuração do ciclo de vida em um bucket na documentação da AWS.
Configurar uma conta de Armazenamento de Blobs do Azure
No Azure, crie uma conta de armazenamento e anote a cadeia de conexão. Para obter mais informações, confira Gerenciar chaves de acesso da conta de armazenamento no Microsoft Docs.
Observação
O GitHub Enterprise Importer não exclui o arquivo do Armazenamento de Blobs do Azure após a conclusão da migração. Para reduzir os custos de armazenamento, recomendamos configurar a exclusão automática do arquivo após um período. Para obter mais informações, confira Otimizar os custos gerenciando automaticamente o ciclo de vida dos dados no Microsoft Docs.
Configurando o armazenamento de blobs no Console de Gerenciamento de sua instância do GitHub Enterprise Server
Depois de configurar um bucket de armazenamento da AWS S3 ou uma conta de armazenamento do Armazenamento de Blobs do Azure, configure o armazenamento de blobs no Console de Gerenciamento do sua instância do GitHub Enterprise Server. Para obter mais informações sobre o Console de Gerenciamento, confira Como administrar sua instância no console de gerenciamento.
-
Em uma conta administrativa no GitHub Enterprise Server, no canto superior direito de qualquer página, clique em .
-
Se você ainda não está na página "Administrador do site", no canto superior esquerdo, clique em Administrador do site. 1. Na barra lateral " Site admin", clique em Console de Gerenciamento.
-
Faça logon no Console de Gerenciamento.
-
Na barra de navegação superior, clique em Configurações.
-
Em Migrações, clique em Habilitar as Migrações do GitHub .
-
Opcionalmente, para importar as configurações de armazenamento que você definiu para o GitHub Actions, selecione Copiar configurações do Armazenamento em Ações. Para obter mais informações, confira Como habilitar o GitHub Actions com o Armazenamento de Blobs do Azure e Como habilitar o GitHub Actions com o armazenamento da Amazon S3.
Observação
Depois de copiar as configurações de armazenamento, talvez ainda seja necessário atualizar a configuração da sua conta de armazenamento em nuvem para trabalhar com o GitHub Enterprise Importer. Em particular, você deve garantir que os endereços IP do GitHub estejam permitidos. Para saber mais, confira Gerenciando o acesso para uma migração entre produtos GitHub.
-
Se você não importar as configurações de armazenamento do GitHub Actions, selecione Armazenamento de Blobs do Azure ou Amazon S3 e preencha os detalhes necessários.
Observação
Caso esteja usando o Amazon S3, deverá configurar a "AWS Service URL" como o ponto de extremidade padrão da região da AWS onde seu bucket está localizado. Por exemplo, se o bucket estiver localizado na região
eu-west-1, a "URL do serviço AWS" seráhttps://s3.eu-west-1.amazonaws.com. A rede da instância do GitHub Enterprise Server deve permitir o acesso a esse host. Não há suporte para pontos de extremidade de gateway, comobucket.vpce-0e25b8cdd720f900e-argc85vg.s3.eu-west-1.vpce.amazonaws.com. Para obter mais informações sobre pontos de extremidade de gateway, consulte Pontos de extremidade de gateway d Amazon S3 na documentação da AWS. -
Clique em Testar configurações de armazenamento.
-
Clique em Salvar alterações.
Como permitir o acesso à rede
Se você configurou regras de firewall na sua conta de armazenamento, verifique se permitiu o acesso aos intervalos de IP para o destino de migração. Confira Gerenciando o acesso para uma migração entre produtos GitHub.
Etapa 4: Configurar uma fonte de migração no GitHub Enterprise Cloud
Você pode configurar uma origem de migração usando a consulta createMigrationSource. Você precisará fornecer a ownerId, ou a ID da organização, coletada da consulta GetOrgInfo.
Sua fonte de migração é sua organização em GitHub Enterprise Server.
createMigrationSource mutação
mutation createMigrationSource($name: String!, $url: String!, $ownerId: ID!) {
createMigrationSource(input: {name: $name, url: $url, ownerId: $ownerId, type: GITHUB_ARCHIVE}) {
migrationSource {
id
name
url
type
}
}
}
Observação
Lembre-se de usar GITHUB_ARCHIVE para type.
| Variável da consulta | Descrição |
|---|---|
name | Um nome para a origem da migração. Esse nome se destina à sua referência, ou seja, você pode usar qualquer cadeia de caracteres. |
ownerId | A ID da sua organização no GitHub Enterprise Cloud. |
|
url | O URL para sua instância do GitHub Enterprise Server. Essa URL não precisa ser acessível de GitHub Enterprise Cloud.
createMigrationSource resposta
{
"data": {
"createMigrationSource": {
"migrationSource": {
"id": "MS_kgDaACRjZTY5NGQ1OC1mNDkyLTQ2NjgtOGE1NS00MGUxYTdlZmQwNWQ",
"name": "GHES Source",
"url": "https://my-ghes-hostname.com",
"type": "GITHUB_ARCHIVE"
}
}
}
}
Neste exemplo, MS_kgDaACRjZTY5NGQ1OC1mNDkyLTQ2NjgtOGE1NS00MGUxYTdlZmQwNWQ é a ID de origem da migração, que usaremos em uma etapa posterior.
Etapa 5: Gerar arquivos de migração em sua instância do GitHub Enterprise Server
Você usará a API REST para iniciar duas "migrações" em GitHub Enterprise Server: uma para gerar um arquivo do código-fonte Git do seu repositório e outra para gerar um arquivo dos metadados do seu repositório (como issues e pull requests).
Para gerar o arquivo de origem do Git, faça uma POST solicitação para https://HOSTNAME/api/v3/orgs/ORGANIZATION/migrations, substituindo HOSTNAME pelo nome do sua instância do GitHub Enterprise Serverhost e ORGANIZATION pelo logon da sua organização.
No corpo, especifique o repositório individual que deseja migrar. A solicitação será parecida com esta:
POST /api/v3/orgs/acme-corp/migrations HTTP/1.1
Accept: application/vnd.github+json
Authorization: Bearer <TOKEN>
Content-Type: application/json
Host: github.acmecorp.net
{
"repositories": ["repository_to_migrate"],
"exclude_metadata": true
}
Para gerar o arquivo de metadados, envie uma solicitação semelhante para a mesma URL com o seguinte corpo:
{
"repositories": ["repository_to_migrate"],
"exclude_git_data": true,
"exclude_releases": false,
"exclude_owner_projects": true
}
Cada uma dessas duas chamadas à API retornará uma resposta JSON, incluindo a ID da migração iniciada.
HTTP/1.1 201 Created
{
"id": 123,
// ...
}
Para obter mais informações, confira Iniciar uma migração de organização.
A geração dos arquivos pode demorar um pouco, dependendo do volume de dados. Verifique regularmente o status das migrações com a API "Obter um status de migração da organização" até que o state da migração mude para exported.
GET /api/v3/orgs/acme-corp/migrations/123 HTTP/1.1
Accept: application/vnd.github+json
Authorization: Bearer <TOKEN>
Host: github.acmecorp.net
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 123,
"state": "exported",
// ...
}
Para obter mais informações, confira Obter um status de migração da organização.
Observação
Se a migração passar para o estado failed, e não para o estado exported, tente iniciar a migração novamente. Em caso de falhas repetidas na migração, recomendamos gerar os arquivos usando ghe-migrator em vez da API.
Siga as etapas descritas em Como exportar dados de migração da sua empresa, adicionando apenas um repositório à migração. No final do processo, você terá um arquivo de migração individual com os metadados e a origem do Git e poderá ir para a etapa 6 deste artigo.
Depois que o state de uma migração passar para exported, busque a URL da migração usando a API "Baixar um arquivo de migração da organização".
GET /api/v3/orgs/acme-corp/migrations/123/archive HTTP/1.1
Accept: application/vnd.github+json
Authorization: Bearer <TOKEN>
Host: github.acmecorp.net
HTTP/1.1 302 Found
Location: https://media.github.acmecorp.net/migrations/123/archive/cca2ebe9-7403-4ffa-9b6a-4c9e16c94410?token=AAAAABEWE7JP4H2HACKEGMTDOYRC6
A API retornará uma resposta 302 Found com um cabeçalho Location redirecionando você para a URL em que o arquivo para download está localizado. Baixe os dois arquivos: um para a origem do Git e o outro para os metadados.
Para obter mais informações, confira Baixar um arquivo de migração da organização.
Depois que as duas migrações forem concluídas e você baixar os arquivos, vá para a próxima etapa.
Etapa 6: Carregar os arquivos de migração
Para importar seus dados para GitHub Enterprise Cloud, você deve enviar ambos os arquivos de cada repositório (código-fonte Git e metadados) do seu computador para GitHub, usando nossa API GraphQL.
Se você estiver usando GitHub Enterprise Server 3,7 ou inferior, deverá primeiro gerar URLs para os arquivos acessíveis por GitHub. A maioria dos clientes opta por carregar os arquivos no serviço de armazenamento de blobs de um provedor de nuvem, como a Amazon S3 ou o Armazenamento de Blobs do Azure e, em seguida, gerar uma URL de curta duração para cada um.
Se você estiver usando GitHub Enterprise Server 3.8 ou superior, sua instância carregará os arquivos e gerará as URLs para você. O cabeçalho Location da etapa anterior retornará a URL de curta duração.
Talvez seja necessário adicionar os intervalos de IP de GitHub à lista de permissões. Para saber mais, confira Gerenciando o acesso para uma migração entre produtos GitHub.
Carregando seus arquivos de migração para GitHub-owned blob storage
Se você estiver usando GitHub-owned blob storage, fará upload do seu arquivo para GitHub-owned blob storage seguindo o processo abaixo:
- Criar um upload de várias partes enviando uma solicitação POST
- Carregar arquivo morto em várias partes com até 100 MB como solicitações PATCH
- Enviar uma solicitação PUT para concluir o upload
1. Criar o upload de várias partes
Você enviará uma solicitação POST para:
https://uploads.github.com/organizations/{organization_id}/gei/archive/blobs/uploads
Inclua um corpo JSON como abaixo com o nome e o tamanho do arquivo morto. O tipo de conteúdo pode permanecer como "application/octet-stream" para todos os uploads.
{
"content_type": "application/octet-stream",
"name": "git-archive.tar.gz",
"size": 262144000
}
Isso retornará uma resposta de objeto JSON da seguinte maneira:
{
"guid": "363b2659-b8a3-4878-bfff-eed4bcb54d35",
"node_id": "MA_kgDaACQzNjNiMjY1OS1iOGEzLTQ4NzgtYmZmZi1lZWQ0YmNiNTRkMzU",
"name": "git-archive.tar.gz",
"size": 33287,
"uri": "gei://archive/363b2659-b8a3-4878-bfff-eed4bcb54d35",
"created_at": "2024-11-13T12:35:45.761-08:00"
}
Esse URI representa o arquivo morto carregado e será usado para enfileirar a migração quando você iniciar a migração do repositório. A resposta incluirá também o local no cabeçalho de resposta usado para carregar partes de arquivo usando uma solicitação PATCH na próxima etapa:
/organizations/{organization_id}/gei/archive/blobs/uploads?part_number=1&guid=<guid>&upload_id=<upload_id>
2. Carregar o arquivo morto em várias partes
Carregue até 100 MB do arquivo em cada parte com uma solicitação PATCH usando o local do cabeçalho de resposta anterior, garantindo que os dados brutos sejam carregados no corpo da solicitação sem usar um formulário de várias partes. Se a parte final do arquivo for menor que 100 MB, carregue somente os bytes restantes nessa última solicitação:
https://uploads.github.com/{location}
Isso retornará um corpo de resposta vazio com o seguinte local no cabeçalho da resposta:
/organizations/{organization_id}/gei/archive/blobs/uploads?part_number=2&guid=<guid>&upload_id=<upload_id>
Repita isso até que o carregamento seja concluído. Verifique se você está lendo até 100 MB do arquivo por vez e enviando solicitações para os novos valores de local com os valores part_number incrementados.
3. Conclua o upload
Envie uma solicitação PUT para o valor "último caminho" da etapa anterior com um corpo vazio, e o upload para o armazenamento de propriedade do GitHub está concluído. O URI do GEI pode ser criado com o GUID dessa solicitação POST inicial no seguinte formato:
gei://archive/{guid}
Etapa 7: Iniciar a migração do repositório
Quando você inicia uma migração, um repositório individual e os dados complementares são migrados para um novo repositório do GitHub identificado por você.
Caso você deseje mover vários repositórios ao mesmo tempo da mesma organização de origem, coloque várias migrações na fila. É possível executar até cinco migrações de repositório ao mesmo tempo.
startRepositoryMigration mutação
mutation startRepositoryMigration (
$sourceId: ID!,
$ownerId: ID!,
$repositoryName: String!,
$continueOnError: Boolean!,
$accessToken: String!,
$githubPat: String!,
$gitArchiveUrl: String!,
$metadataArchiveUrl: String!,
$sourceRepositoryUrl: URI!,
$targetRepoVisibility: String!
){
startRepositoryMigration( input: {
sourceId: $sourceId,
ownerId: $ownerId,
repositoryName: $repositoryName,
continueOnError: $continueOnError,
accessToken: $accessToken,
githubPat: $githubPat,
targetRepoVisibility: $targetRepoVisibility
gitArchiveUrl: $gitArchiveUrl,
metadataArchiveUrl: $metadataArchiveUrl,
sourceRepositoryUrl: $sourceRepositoryUrl,
}) {
repositoryMigration {
id
migrationSource {
id
name
type
}
sourceUrl
}
}
}
| Variável da consulta | Descrição |
|---|---|
sourceId | A origem de migração id retornou da mutação create. |
ownerId | A ID da sua organização no GitHub Enterprise Cloud. |
repositoryName | Um nome de repositório exclusivo personalizado não usado atualmente por nenhum dos seus repositórios pertencentes à organização no GitHub Enterprise Cloud. Um problema de log de erros será criado neste repositório quando a migração for concluída ou tiver sido interrompida. |
continueOnError | Configuração de migração que permite que a migração continue ao encontrar erros que não causam falha na migração. Deve ser true ou false. Recomendamos fortemente definir continueOnError como true, de modo que a migração continue, a menos que o Importer não possa mover a origem do Git ou o Importer tenha perdido a conexão e não possa se reconectar para concluir a migração. |
githubPat | O personal access token da sua organização de destino no GitHub Enterprise Cloud. |
accessToken | Os dados do personal access token da origem. |
target | A visibilidade do novo repositório. Deve ser private, public ou internal. Se isso não estiver definido, seu repositório será migrado como privado. |
gitArchiveUrl | Uma URL GitHub Enterprise Cloud acessível para seu arquivo-fonte Git.
metadataArchiveUrl | Uma URL acessível por GitHub Enterprise Cloud para o seu arquivo de metadados.
sourceRepositoryUrl | O endereço URL do seu repositório na sua instância de GitHub Enterprise Server. Isso é necessário, mas GitHub Enterprise Cloud não se comunicará diretamente com sua GitHub Enterprise Server instância.
Para ver os requisitos, consulte Gerenciando o acesso para uma migração entre produtos GitHub.
Na próxima etapa, você usará a ID de migração retornada da mutação startRepositoryMigration para verificar o status da migração.
Etapa 8: Verificar o status da migração
Para detectar qualquer falha de migração e garantir que a migração esteja funcionando, verifique o status da migração usando a consulta getMigration. Você também pode verificar o status de várias migrações com getMigrations.
A consulta getMigration retornará com um status para informar se a migração é queued, in progress, failed ou completed. Em caso de falha na migração, o Importer fornecerá um motivo para a falha.
Consulta getMigration
query (
$id: ID!
){
node( id: $id ) {
... on Migration {
id
sourceUrl
migrationSource {
name
}
state
failureReason
}
}
}
| Variável da consulta | Descrição |
|---|---|
id | A id da migração que a mutação start retornou. |
Etapa 9: Validar a migração e verificar o log de erros
Para concluir a migração, recomendamos que você verifique o problema "Log de Migração". Esse problema é criado no GitHub no repositório de destino.

Por fim, recomendamos que você revise os repositórios migrados para uma verificação de integridade.
Etapa 1: Instalar o GEI extension of the GitHub CLI
Se essa for sua primeira migração, você precisará instalar a GEI extension of the GitHub CLI. Para obter mais informações sobre a GitHub CLI, confira Sobre GitHub CLI.
Como alternativa, você pode baixar um binário autônomo na página de versões do repositório github/gh-gei. Você pode executar o binário diretamente, sem o prefixo gh.
-
Instale a GitHub CLI. Para obter instruções de instalação para GitHub CLI, veja o repositório GitHub CLI.
Observação
Você precisa ter a versão 2.4.0 ou mais recente da GitHub CLI. Verifique a versão instalada com o comando
gh --version. -
Instale o GEI extension.
Shell gh extension install github/gh-gei
gh extension install github/gh-gei
Sempre que precisar de ajuda com a GEI extension, use o sinalizador --help com um comando. Por exemplo, gh gei --help listará todos os comandos disponíveis, e gh gei migrate-repo --help listará todas as opções disponíveis para o comando migrate-repo.
Etapa 2: Atualizar o GEI extension of the GitHub CLI
A GEI extension é atualizada semanalmente. Para garantir que você esteja usando a última versão, atualize a extensão.
gh extension upgrade github/gh-gei
Etapa 3: Definir variáveis de ambiente
Para usar a GEI extension para migrar para o GitHub Enterprise Cloud, você precisa criar personal access tokens que possam acessar as organizações de origem e de destino e definir os personal access tokens como variáveis de ambiente.
-
Crie e registre um personal access token (classic) que será autenticado para a organização de destino no GitHub Enterprise Cloud, verificando se o token atende a todos os requisitos. Para saber mais, confira Gerenciando o acesso para uma migração entre produtos GitHub.
-
Crie e registre um personal access token que será autenticado para a organização de origem, verificando se esse token também atende a todos os mesmos requisitos.
-
Defina variáveis de ambiente para o personal access tokens, substituindo TOKEN nos comandos abaixo pelos personal access tokens que você registrou acima. Use
GH_PATpara a organização de destino eGH_SOURCE_PATpara a organização de origem.-
Se você estiver usando o Terminal, use o comando
export.Shell export GH_PAT="TOKEN" export GH_SOURCE_PAT="TOKEN"
export GH_PAT="TOKEN" export GH_SOURCE_PAT="TOKEN" -
Se você estiver usando o PowerShell, use o comando
$env.Shell $env:GH_PAT="TOKEN" $env:GH_SOURCE_PAT="TOKEN"
$env:GH_PAT="TOKEN" $env:GH_SOURCE_PAT="TOKEN"
-
-
Se você estiver migrando para GitHub Enterprise Cloud com residência de dados, por conveniência, defina uma variável de ambiente para a URL de API base para sua empresa.
Certifique-se de substituir
SUBDOMAINpelo subdomínio da sua empresa. Por exemplo, se o subdomínio da sua empresa foracme, oTARGET_API_URLvalor seráhttps://api.acme.ghe.com.-
Se você estiver usando o Terminal, use o comando
export.Shell export TARGET_API_URL="https://api.SUBDOMAIN.ghe.com"
export TARGET_API_URL="https://api.SUBDOMAIN.ghe.com" -
Se você estiver usando o PowerShell, use o comando
$env.Shell $env:TARGET_API_URL="https://api.SUBDOMAIN.ghe.com"
$env:TARGET_API_URL="https://api.SUBDOMAIN.ghe.com"
Você usará essa variável com a opção
--target-api-urlem comandos executados com o GitHub CLI. -
Etapa 4: Configurar o armazenamento de blobs
Migrando repositórios com GitHub-owned blob storage
Se você não quiser configurar e fornecer GitHub Enterprise Importer acesso a uma conta de armazenamento de blobs de propriedade do cliente para armazenar seus arquivos de repositório, poderá migrar repositórios usando GitHub-owned blob storage. Para fazer isso, você deve estar executando v1.9.0 (ou superior) de GEI extension of the GitHub CLI. GitHub-owned blob storage não requer configuração adicional e está disponível como uma opção quando você executa GEI extension of the GitHub CLI comandos.
Para fins de segurança, GitHub-owned blob storage é explicitamente somente para gravação, e não é possível fazer download de GitHub-owned blob storage. Após uma migração ser concluída, os arquivos do repositório serão excluídos imediatamente. Se um arquivo morto for carregado e não usado em uma migração, ele será excluído após sete dias.
Quando você usa o sinalizador da CLI para GitHub-owned blob storage, o arquivo do repositório é automaticamente exportado para o destino configurado no Console de Gerenciamento, enviado para um armazenamento pertencente ao GitHub e importado para o destino da migração. Ao usar GitHub-owned blob storage , recomendamos configurar o armazenamento local. Confira Como usar armazenamento local (GHES 3.16+).
Como migrar repositórios com o armazenamento de blobs de propriedade do cliente
Você deve armazenar os dados do repositório em um local que o GitHub possa acessar. Se a instância do GitHub Enterprise Server estiver protegida por um firewall, talvez seja necessário configurar o armazenamento de blobs com um serviço de nuvem externo.
Primeiro, você precisa configurar o armazenamento de blobs com um provedor compatível. Em seguida, se você estiver usando um provedor de nuvem, é necessário configurar suas credenciais para o provedor de armazenamento no Console de Gerenciamento ou na GitHub CLI.
A GitHub CLI dá suporte aos seguintes provedores de armazenamento de blobs:
-
AWS (Amazon Web Services) S3
-
Armazenamento do Blobs do Azure
-
Armazenamento local na instância do GHES (GHES 3.16 e posterior). É recomendável usar essa opção com o GitHub-owned blob storage.
Como configurar um bucket de armazenamento da AWS S3
Na AWS, configure um bucket da S3. Para obter mais informações, confira Como criar um bucket na documentação da AWS.
Você também precisará de uma chave de acesso da AWS e uma chave secreta com as seguintes permissões:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:ListBucketMultipartUploads",
"s3:AbortMultipartUpload",
"s3:ListBucket",
"s3:DeleteObject",
"s3:ListMultipartUploadParts"
],
"Resource": [
"arn:aws:s3:::github-migration-bucket",
"arn:aws:s3:::github-migration-bucket/*"
]
}
]
}
Observação
O GitHub Enterprise Importer não exclui o arquivo da AWS após a conclusão da migração. Para reduzir os custos de armazenamento, recomendamos configurar a exclusão automática do arquivo após um período. Para obter mais informações, confira Como definir a configuração do ciclo de vida em um bucket na documentação da AWS.
Como configurar uma conta de armazenamento do Armazenamento de Blobs do Azure
No Azure, crie uma conta de armazenamento e anote a cadeia de conexão. Para obter mais informações, confira Gerenciar chaves de acesso da conta de armazenamento no Microsoft Docs.
Observação
O GitHub Enterprise Importer não exclui o arquivo do Armazenamento de Blobs do Azure após a conclusão da migração. Para reduzir os custos de armazenamento, recomendamos configurar a exclusão automática do arquivo após um período. Para obter mais informações, confira Otimizar os custos gerenciando automaticamente o ciclo de vida dos dados no Microsoft Docs.
Usar armazenamento local (GHES 3.16+)
Quando você executa uma migração com armazenamento local, os dados de arquivo morto são gravados no disco no sua instância do GitHub Enterprise Server, sem a necessidade de um provedor de armazenamento em nuvem.
- Se você não tiver regras de firewall bloqueando o tráfego de saída de GitHub Enterprise Server, o GitHub Enterprise Importer poderá recuperar automaticamente o arquivo armazenado do GitHub Enterprise Server.
- Se você tiver regras de firewall em vigor e não quiser permitir o acesso a GitHub Enterprise Importer, poderá carregar seus dados de arquivo morto em GitHub-owned blob storage para GitHub Enterprise Importer para acessar. Para fazer isso manualmente, confira Carregar seus arquivos de migração para o armazenamento de blobs de propriedade do GitHub na versão da API deste artigo.
- Em uma conta administrativa no GitHub Enterprise Server, no canto superior direito de qualquer página, clique em .
- Na barra lateral " Site admin", clique em Console de Gerenciamento.
- Entre no Console de Gerenciamento.
- Na barra lateral à esquerda, clique em Migrações.
- Clique em Habilitar as Migrações do GitHub.
- Em "Armazenamento de Migrações", clique em Armazenamento Local.
- Clique em Salvar alterações.
Ao executar a migração, monitore o espaço em disco no GitHub Enterprise Server. Os arquivos de migração são excluídos automaticamente após sete dias. Para liberar espaço, você pode excluir um arquivo morto usando o Endpoints da API REST para migrações de organizações.
Como configurar suas credenciais do armazenamento de blobs
Se você configurar o armazenamento de blobs com um provedor de nuvem (em vez do armazenamento local), deverá configurar suas credenciais para o provedor de armazenamento em GitHub:
- Se você usar GitHub Enterprise Server 3.8 ou superior, configure suas credenciais no Console de Gerenciamento.
- Se você usar GitHub Enterprise Server 3.7 ou inferior, configure as credenciais no GitHub CLI.
Configurando o armazenamento de blobs no Console de Gerenciamento de sua instância do GitHub Enterprise Server
Observação
Você só precisa configurar o armazenamento de blobs no Console de Gerenciamento se usar o GitHub Enterprise Server 3.8 ou superior. Se estiver usando a versão 3.7 ou anterior, configure suas credenciais no GitHub CLI.
Depois de configurar um bucket de armazenamento da AWS S3 ou uma conta de armazenamento do Armazenamento de Blobs do Azure, configure o armazenamento de blobs no Console de Gerenciamento do sua instância do GitHub Enterprise Server. Para obter mais informações sobre o Console de Gerenciamento, confira Como administrar sua instância no console de gerenciamento.
-
Em uma conta administrativa no GitHub Enterprise Server, no canto superior direito de qualquer página, clique em .
-
Se você ainda não está na página "Administrador do site", no canto superior esquerdo, clique em Administrador do site. 1. Na barra lateral " Site admin", clique em Console de Gerenciamento.
-
Faça logon no Console de Gerenciamento.
-
Na barra de navegação superior, clique em Configurações.
-
Em Migrações, clique em Habilitar as Migrações do GitHub .
-
Opcionalmente, para importar as configurações de armazenamento que você definiu para o GitHub Actions, selecione Copiar configurações do Armazenamento em Ações. Para obter mais informações, confira Como habilitar o GitHub Actions com o Armazenamento de Blobs do Azure e Como habilitar o GitHub Actions com o armazenamento da Amazon S3.
Observação
Depois de copiar as configurações de armazenamento, talvez ainda seja necessário atualizar a configuração da sua conta de armazenamento em nuvem para trabalhar com o GitHub Enterprise Importer. Em particular, você deve garantir que os endereços IP do GitHub estejam permitidos. Para saber mais, confira Gerenciando o acesso para uma migração entre produtos GitHub.
-
Se você não importar as configurações de armazenamento do GitHub Actions, selecione Armazenamento de Blobs do Azure ou Amazon S3 e preencha os detalhes necessários.
Observação
Caso esteja usando o Amazon S3, deverá configurar a "AWS Service URL" como o ponto de extremidade padrão da região da AWS onde seu bucket está localizado. Por exemplo, se o bucket estiver localizado na região
eu-west-1, a "URL do serviço AWS" seráhttps://s3.eu-west-1.amazonaws.com. A rede da instância do GitHub Enterprise Server deve permitir o acesso a esse host. Não há suporte para pontos de extremidade de gateway, comobucket.vpce-0e25b8cdd720f900e-argc85vg.s3.eu-west-1.vpce.amazonaws.com. Para obter mais informações sobre pontos de extremidade de gateway, consulte Pontos de extremidade de gateway d Amazon S3 na documentação da AWS. -
Clique em Testar configurações de armazenamento.
-
Clique em Salvar alterações.
Configurando suas credenciais de armazenamento de blobs no GitHub CLI
Observação
Você só precisa configurar suas credenciais de armazenamento de blobs no GitHub CLI caso de usar GitHub Enterprise Server 3.7 ou inferior. Se você usar a versão 3.8 ou superior, configure o armazenamento de blobs no Console de Gerenciamento em vez disso.
Se você configurar suas credenciais de armazenamento de blobs no GitHub CLI, não poderá realizar migrações nas quais as exportações de metadados ou da origem do Git excedam 2 GB. Para executar essas migrações, atualize para GitHub Enterprise Server 3.8 ou superior.
Configurando credenciais do AWS S3 no GitHub CLI
Quando estiver pronto para executar a migração, você precisará fornecer suas credenciais da AWS para a GitHub CLI: região, chave de acesso, chave secreta e token de sessão (se necessário). Você pode transmiti-los como argumentos ou definir variáveis de ambiente chamadas AWS_REGION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY e AWS_SESSION_TOKEN.
Você também precisará transmitir o nome do bucket do S3 usando o argumento --aws-bucket-name.
Configurando as credenciais da conta do Armazenamento de Blobs do Azure no GitHub CLI
Quando estiver pronto para executar a migração, transmita a cadeia de conexão para a GitHub CLI como um argumento ou usando uma variável de ambiente chamada AZURE_STORAGE_CONNECTION_STRING.
Como permitir o acesso à rede
Se você configurou regras de firewall na sua conta de armazenamento, verifique se permitiu o acesso aos intervalos de IP para o destino de migração. Confira Gerenciando o acesso para uma migração entre produtos GitHub.
Etapa 5: Gerar um script de migração
Caso você deseje migrar vários repositórios para o GitHub Enterprise Cloud ao mesmo tempo, use a GitHub CLI para gerar um script de migração. O script resultante conterá uma lista de comandos de migração, um por repositório.
Observação
Gerar um script produz um script do PowerShell. Se você estiver usando o Terminal, precisará gerar o script com a extensão de arquivo .ps1 e instalar o PowerShell para Mac ou Linux para executá-lo.
Caso você deseje migrar um repositório individual, vá para a próxima etapa.
Como gerar um script de migração
Você precisa seguir esta etapa em um computador que possa acessar a API para o sua instância do GitHub Enterprise Server. Se você puder acessar a instância no navegador, o computador terá o acesso correto.
Para gerar um script de migração, execute o comando gh gei generate-script.
Para GitHub Enterprise Server versão 3.8 ou posterior, ou se você estiver usando a versão 3.7 ou anterior com o Armazenamento de Blobs do Azure, use os seguintes sinalizadores:
gh gei generate-script --github-source-org SOURCE \ --github-target-org DESTINATION \ --output FILENAME \ --ghes-api-url GHES-API-URL
gh gei generate-script --github-source-org SOURCE \
--github-target-org DESTINATION \
--output FILENAME \
--ghes-api-url GHES-API-URL
Se você estiver usando GitHub Enterprise Server 3.7 ou inferior com o AWS S3, use os seguintes sinalizadores:
gh gei generate-script --github-source-org SOURCE \ --github-target-org DESTINATION \ --output FILENAME \ --ghes-api-url GHES-API-URL \ --aws-bucket-name AWS-BUCKET-NAME
gh gei generate-script --github-source-org SOURCE \
--github-target-org DESTINATION \
--output FILENAME \
--ghes-api-url GHES-API-URL \
--aws-bucket-name AWS-BUCKET-NAME
Espaços reservados
Substitua os espaços reservados no comando acima pelos valores a seguir.
| Espaço reservado | Valor |
|---|---|
| SOURCE | Nome da organização de origem |
| DESTINATION | Nome da organização de destino |
| FILENAME | Um nome de arquivo para o script de migração resultante Se estiver usando o Terminal, use uma extensão de arquivo .ps1, pois o script gerado exige a execução do PowerShell. Você pode instalar o PowerShell para Mac ou Linux. |
| GHES-API-URL | A URL para a API do sua instância do GitHub Enterprise Server, como https:/ |
| AWS-BUCKET-NAME | O nome do bucket da AWS S3 |
Argumentos adicionais
| Argumento | Descrição |
|---|---|
--download-migration-logs | Baixe o log de migração de cada repositório migrado. Para obter mais informações sobre os logs de migração, confira Como acessar os logs de migração do GitHub Enterprise Importer. |
--lock-source-repo | Bloqueie o repositório de origem ao migrar. |
| Aviso: O bloqueio de um repositório de origem impede alterações adicionais e pode interromper os fluxos de trabalho. É recomendável usar essa opção somente se você tiver certeza de que ela é apropriada. Para saber mais, confira Sobre repositórios bloqueados. | |
--no-ssl-verify | Se o sua instância do GitHub Enterprise Server usar um certificado SSL autoassinado ou inválido, use o sinalizador --no-ssl-verify. Com esse sinalizador, a GitHub CLI vai ignorar a verificação do certificado SSL ao extrair os dados somente da instância. Todas as outras chamadas verificarão o SSL. |
--skip-releases | Se o repositório tiver mais de 10 GB de dados de versões, as versões não poderão ser migradas. Use o sinalizador --skip-releases para migrar o repositório sem versões. |
--target-api-url TARGET-API-URL | Se você estiver migrando para o GHE.com, adicione --target-api-url TARGET-API-URL, em que TARGET-API-URL é a URL da API base para o subdomínio da sua empresa. Por exemplo: https:/. |
--use-github-storage | Realize uma migração de repositório usando GitHub-owned blob storage como a solução intermediária de armazenamento de blobs. |
Como revisar o script de migração
Depois de gerar o script, analise o arquivo e, opcionalmente, edite o script.
- Se houver repositórios que você não deseja migrar, exclua ou comente as linhas correspondentes.
- Caso você deseje que algum repositório tenha um nome diferente na organização de destino, atualize o valor do sinalizador
--target-repocorrespondente. - Se você quiser alterar a visibilidade de um novo repositório, atualize o valor do sinalizador correspondente
--target-repo-visibility. Por padrão, o script define a mesma visibilidade que o repositório de origem.
Se o repositório tiver mais de 10 GB de dados de versões, as versões não poderão ser migradas. Use o sinalizador --skip-releases para migrar o repositório sem versões.
Se você baixou GEI como um binário autônomo em vez de como uma extensão para o GitHub CLI, será necessário atualizar o script gerado para executar o binário em vez de gh gei.
Etapa 6: Migrar repositórios
Você pode migrar vários repositórios com um script de migração ou um repositório individual com o comando gh gei migrate-repo.
Quando você migra repositórios, executa as GEI extension of the GitHub CLI seguintes etapas:
- sua instância do GitHub Enterprise Server Conecta-se e gera dois arquivos de migração por repositório, um para a origem do Git e outro para os metadados
- Carrega os arquivos de migração no provedor de armazenamento de blobs de sua escolha
- Inicie sua migração em GitHub Enterprise Cloud, usando as URLs dos arquivos armazenados no seu provedor de armazenamento de blobs
- Exclui o arquivo de migração do computador local
Migrar vários repositórios
Se você estiver migrando da GitHub Enterprise Server versão 3.7 ou anterior, antes de executar o script, deverá definir variáveis de ambiente adicionais para autenticar no provedor de armazenamento de blobs.
-
Para o Armazenamento de Blobs do Azure, defina
AZURE_STORAGE_CONNECTION_STRINGcomo a cadeia de conexão para sua conta de armazenamento do Azure.Só há suporte para cadeias de conexão que usam chaves de acesso da conta de armazenamento. Não há suporte para cadeias de conexão que usam SAS (assinaturas de acesso compartilhado). Para obter informações sobre as chaves de acesso da conta de armazenamento, confira Gerenciar chaves de acesso da conta de armazenamento na documentação do Azure.
-
Para a AWS S3, defina as variáveis de ambiente a seguir.
AWS_ACCESS_KEY_ID: a ID da chave de acesso para o bucketAWS_SECRET_ACCESS_KEY: a chave secreta do bucketAWS_REGION: a região da AWS em que o bucket está localizadoAWS_SESSION_TOKEN: o token de sessão, se você estiver usando credenciais temporárias da AWS (confira Como usar credenciais temporárias com recursos da AWS na documentação da AWS)
Para migrar vários repositórios, execute o script gerado. Substitua FILENAME nos comandos abaixo pelo nome do arquivo que você forneceu ao gerar o script.
-
Se estiver usando o Terminal, use
./.Shell ./FILENAME
./FILENAME -
Se estiver usando o PowerShell, use
.\.Shell .\FILENAME
.\FILENAME
Migrar um repositório individual
Você precisa seguir esta etapa em um computador que possa acessar a API para o sua instância do GitHub Enterprise Server. Se você puder acessar a instância no navegador, o computador terá o acesso correto.
Para migrar um repositório individual, use o comando gh gei migrate-repo.
Se você estiver usando GitHub Enterprise Server 3.8 ou posterior, use os seguintes sinalizadores:
gh gei migrate-repo --github-source-org SOURCE --source-repo CURRENT-NAME --github-target-org DESTINATION --target-repo NEW-NAME --ghes-api-url GHES-API-URL
gh gei migrate-repo --github-source-org SOURCE --source-repo CURRENT-NAME --github-target-org DESTINATION --target-repo NEW-NAME --ghes-api-url GHES-API-URL
Se você estiver migrando da GitHub Enterprise Server 3.7 ou anterior e usando Armazenamento de Blobs do Azure como seu provedor de armazenamento de blobs, use os seguintes sinalizadores para autenticar:
gh gei migrate-repo --github-source-org SOURCE --source-repo CURRENT-NAME --github-target-org DESTINATION --target-repo NEW-NAME \
--ghes-api-url GHES-API-URL --azure-storage-connection-string "AZURE_STORAGE_CONNECTION_STRING"
gh gei migrate-repo --github-source-org SOURCE --source-repo CURRENT-NAME --github-target-org DESTINATION --target-repo NEW-NAME \
--ghes-api-url GHES-API-URL --azure-storage-connection-string "AZURE_STORAGE_CONNECTION_STRING"
Se você estiver migrando da GitHub Enterprise Server 3.7 ou anterior e usando o Amazon S3 como seu provedor de armazenamento de blobs, use os seguintes sinalizadores para autenticar:
gh gei migrate-repo --github-source-org SOURCE --source-repo CURRENT-NAME --github-target-org DESTINATION --target-repo NEW-NAME \
--ghes-api-url GHES-API-URL --aws-bucket-name "AWS-BUCKET-NAME"
gh gei migrate-repo --github-source-org SOURCE --source-repo CURRENT-NAME --github-target-org DESTINATION --target-repo NEW-NAME \
--ghes-api-url GHES-API-URL --aws-bucket-name "AWS-BUCKET-NAME"
Espaços reservados
Substitua os espaços reservados no comando acima pelos valores a seguir.
| Espaço reservado | Valor |
|---|---|
| SOURCE | Nome da organização de origem |
| CURRENT-NAME | O nome do repositório que você deseja migrar |
| DESTINATION | Nome da organização de destino |
| NEW-NAME | O nome que você deseja dar ao repositório migrado |
| GHES-API-URL | A URL para a API do sua instância do GitHub Enterprise Server, como https:/ |
| AZURE_STORAGE_CONNECTION_STRING | A cadeia de conexão da sua conta de armazenamento do Azure. Coloque a cadeia de conexão entre aspas, que contém caracteres que provavelmente serão interpretados de outro modo pelo shell. |
| AWS-BUCKET-NAME | O nome do bucket da AWS S3 |
Argumentos adicionais
| Argumento | Descrição |
|---|---|
--lock-source-repo | Bloqueie o repositório de origem ao migrar. Para saber mais, confira Sobre repositórios bloqueados. |
--no-ssl-verify | Se o sua instância do GitHub Enterprise Server usar um certificado SSL autoassinado ou inválido, use o sinalizador --no-ssl-verify. Com esse sinalizador, a GitHub CLI vai ignorar a verificação do certificado SSL ao extrair os dados somente da instância. Todas as outras chamadas verificarão o SSL. |
--skip-releases | Se o repositório tiver mais de 10 GB de dados de versões, as versões não poderão ser migradas. Use o sinalizador --skip-releases para migrar o repositório sem versões. |
--target-api-url TARGET-API-URL | Se você estiver migrando para o GHE.com, adicione --target-api-url TARGET-API-URL, em que TARGET-API-URL é a URL da API base para o subdomínio da sua empresa. Por exemplo: https:/. |
--target-repo-visibility TARGET-VISIBILITY | Todos os repositórios são migrados com visibilidade privada por padrão. Para definir a visibilidade, você pode adicionar o sinalizador --target-repo-visibility especificando private, public ou internal. Se você estiver migrando para um empresa com usuários gerenciados, os repositórios públicos não estarão disponíveis. |
--use-github-storage | Realize uma migração de repositório usando GitHub-owned blob storage como solução intermediária de armazenamento de blobs. |
Como anular a migração
Se você quiser cancelar uma migração, use o comando abort-migration, substituindo MIGRATION-ID pelo ID retornado de migrate-repo.
gh gei abort-migration --migration-id MIGRATION-ID
gh gei abort-migration --migration-id MIGRATION-ID
Etapa 7: Validar a migração e verificar o log de erros
Quando a migração for concluída, recomendaremos analisar o log de migração. Para saber mais, confira Como acessar os logs de migração do GitHub Enterprise Importer. Se o repositório de origem contiver conjuntos de regras e você estiver sendo bloqueado por eles, consulte Configuração de exceções de regras para migrações de repositório.
Recomendamos que você analise os repositórios migrados para uma verificação de integridade.
Após a conclusão da migração, recomendamos excluir os arquivos do contêiner de armazenamento. Se você pretende realizar migrações adicionais, exclua o arquivo colocado no seu contêiner de armazenamento pelo ADO2GH extension. Quando terminar a migração, você poderá excluir todo o contêiner.