Sobre as migrações de repositório com o GitHub Enterprise Importer
As migrações para o GitHub Enterprise Cloud incluem migrações entre contas do GitHub.com e, caso você esteja adotando o residência de dados, migrações para o subdomínio da sua empresa do GHE.com.
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.
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, confira Sobre migrações entre produtos GitHub.
- 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.
- Na organização de origem, você precisa ser um proprietário da organização ou ter a função de migrador. Para saber mais, confira Gerenciando o acesso para uma migração entre produtos GitHub.
- Na conta empresarial de destino, você precisa ser um proprietário da empresa.
Etapa 0: Preparar-se para usar a API do GraphQL do GitHub
Para fazer consultas do GraphQL, você precisará escrever seus scripts ou usar um cliente HTTP como o Insomnia.
Para saber mais sobre como começar a usar a API do GraphQL do GitHub, incluindo como se autenticar, confira Realizar chamadas com o GraphQL.
Você enviará todas as consultas GraphQL para o destino da sua migração. Se você estiver migrando para o GitHub Enterprise Cloud com residência de dados, envie consultas para o ponto de extremidade do subdomínio da sua empresa do GHE.com.
Etapa 1: Obter a ID da empresa do destino de migração
Como proprietário da empresa no GitHub.com, use a consulta a seguir para retornar a ID da conta empresarial da qual você deseja ser o proprietário da organização migrada. Você precisará da ID da empresa para identificar o destino de migração.
query(
$slug: String!
){
enterprise (slug: $slug)
{
slug
id
}
}
Variável da consulta | Descrição |
---|---|
slug | O campo de dados dinâmico da conta empresarial, que você pode identificar conferindo a URL da sua empresa, https:/ ou https:/ . |
Etapa 2: Iniciar a migração da sua organização
Quando você inicia uma migração, uma organização individual e os respectivos dados complementares são migrados para uma nova organização com a empresa de destino identificada por você.
mutation startOrganizationMigration (
$sourceOrgUrl: URI!,
$targetOrgName: String!,
$targetEnterpriseId: ID!,
$sourceAccessToken: String!,
$targetAccessToken: String!
){
startOrganizationMigration( input: {
sourceOrgUrl: $sourceOrgUrl,
targetOrgName: $targetOrgName,
targetEnterpriseId: $targetEnterpriseId,
sourceAccessToken: $sourceAccessToken,
targetAccessToken: $targetAccessToken
}) {
orgMigration {
id
}
}
}
Variável da consulta | Descrição |
---|---|
sourceOrgUrl | A URL da organização de origem, como https:/ . |
targetOrgName | O nome que você deseja dar à nova organização. Elas não podem ser compartilhadas por outra organização na plataforma de destino. |
target | A ID da empresa na qual você deseja criar a organização, retornada pela etapa 2. |
sourceAccessToken | O personal access token (classic) da organização de origem. Para ver os requisitos, confira Gerenciando o acesso para uma migração entre produtos GitHub. |
targetAccessToken | O personal access token (classic) da empresa de destino. |
Na próxima etapa, você usará a ID de migração retornada da mutação startOrganizationMigration
para verificar o status da migração.
Etapa 3: Verificar o status da migração
Para detectar falhas de migração e garantir que a migração esteja funcionando, consulte as OrganizationMigration
s que você criou para ver o status de migração usando a consulta getMigration
.
A consulta será retornada com um status para que você saiba se a migração é queued
, in progress
, failed
ou completed
, além de informações sobre quantos repositórios estão esperando para serem migrados. Em caso de falha na migração, o Importer fornecerá um motivo para a falha.
query (
$id: ID!
){
node( id: $id ) {
... on OrganizationMigration {
id
sourceOrgUrl
targetOrgName
state
failure_reason
remaining_repositories_count
total_repositories_count
}
}
}
Variável da consulta | Descrição |
---|---|
id | A id da migração. |
Após a conclusão da migração, recomendamos que você verifique o repositório do log de migração. Para saber mais, confira Como acessar os logs de migração do GitHub Enterprise Importer.
Por fim, recomendamos que você faça uma verificação de integridade da sua organização e dos repositórios migrados.