Informationen zu Organisationsmigrationsvorgängen mit GitHub Enterprise Importer
Migrationen zu GitHub Enterprise Cloud umfassen Migrationen zwischen Konten auf GitHub.com und bei Einführung der Datenresidenz Migrationen zur Unterdomäne deines Unternehmens auf GHE.com.
Du kannst deine Migration entweder mit der GitHub CLI oder mit der API ausführen.
Die GitHub CLI vereinfacht den Migrationsprozess und wird für die meisten Kundinnen empfohlen. Fortgeschrittene Kundinnen, die viele Anpassungen vornehmen müssen, können die API verwenden, um eigene Integrationen mit dem GitHub Enterprise Importer zu erstellen.
Voraussetzungen
- Es wird dringend empfohlen, einen Testlauf deiner Migration durchzuführen und die Produktionsmigration bald danach abzuschließen. Weitere Informationen zu Testläufen findest du unter Übersicht über die Migration zwischen GitHub-Produkten.
- Stellen Sie sicher, dass Sie die zu migrierenden Daten und die bekannten Supportbeschränkungen des Importer verstehen. Weitere Informationen findest du unter Informationen zu Migrationen zwischen GitHub-Produkten.
- Es ist zwar nicht erforderlich, die Arbeit während der Produktionsmigration zu unterbrechen, es wird aber empfohlen. Der Importer unterstützt keine Deltamigrationen, sodass Änderungen, die während der Migration vorgenommen werden, nicht migriert werden. Wenn du dich dafür entscheidest, die Arbeit während der Produktionsmigration nicht zu unterbrechen, musst du diese Änderungen manuell migrieren.
- Für die Quellorganisation musst du Organisationsbesitzer*in sein oder dir muss die Migrator-Rolle zugewiesen sein. Weitere Informationen finden Sie unter Verwalten des Zugriffs für eine Migration zwischen GitHub-Produkten.
- Darüber hinaus musst du Unternehmensbesitzer*in für das Zielunternehmenskonto sein.
Schritt 0: Vorbereiten der Verwendung der GraphQL-API von GitHub
Um GraphQL-Abfragen zu erstellen, musst du eigene Skripts schreiben oder einen HTTP-Client wie Insomnia verwenden.
Weitere Informationen zu den ersten Schritten mit der GitHub-GraphQL-API, einschließlich der Authentifizierung, findest du unter Erstellen von Aufrufen mit GraphQL.
Du sendest alle GraphQL-Abfragen an das Ziel deiner Migration. Stelle bei der Migration zu GitHub Enterprise-Cloud mit Datenresidenz sicher, dass du Abfragen an den Endpunkt für die Unterdomäne für GHE.com sendest.
Schritt 1: Abrufen der Unternehmens-ID für dein Migrationsziel
Verwende als Unternehmensbesitzer*in in GitHub.com die folgende Abfrage, um die ID für das Unternehmenskonto auszugeben, das die migrierte Organisation besitzen soll. Du benötigst die Unternehmens-ID, um das Migrationsziel anzugeben.
query(
$slug: String!
){
enterprise (slug: $slug)
{
slug
id
}
}
Abfragevariable | Beschreibung |
---|---|
slug | Der Slug für dein Enterprise-Konto. Du findest ihn in der URL für dein Unternehmen: https:/ oder https:/ . |
Schritt 2: Starten der Organisationsmigration
Wenn du eine Migration beginnst, werden eine einzelne Organisation und die zugehörigen Daten in eine neue Organisation innerhalb des von dir festgelegten Zielunternehmens migriert.
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
}
}
}
Abfragevariable | Beschreibung |
---|---|
sourceOrgUrl | Die URL der Quellorganisation, z. B. https:/ |
targetOrgName | Der Name, den du der neuen Organisation geben willst. Kann nicht von einer anderen Organisation auf deiner Zielplattform verwendet werden. |
target | Die ID des Unternehmens, in dem du die neue Organisation erstellen möchten, wie in Schritt 2 ausgegeben |
sourceAccessToken | Dein personal access token (classic) für die Quellorganisation. Informationen zu den Anforderungen findest du unter Verwalten des Zugriffs für eine Migration zwischen GitHub-Produkten. |
targetAccessToken | Dein personal access token (classic) für das Zielunternehmen |
Im nächsten Schritt verwendest du die von der startOrganizationMigration
-Mutation zurückgegebene Migrations-ID, um den Migrationsstatus zu überprüfen.
Schritt 3: Überprüfen des Migrationsstatus
Um Migrationsfehler zu erkennen und sicherzustellen, dass deine Migration funktioniert, kannst du die erstellte(n) OrganizationMigration
(en) abfragen und den Migrationsstatus mithilfe der getMigration
-Abfrage anzeigen.
Die Abfrage gibt einen Status aus, der dich darüber informiert, ob die Migration queued
, in progress
, failed
, oder completed
ist, sowie darüber, wie viele Repositorys auf die Migration warten. Wenn die Migration fehlerhaft war, gibt der Importer einen Grund für den Fehler an.
query (
$id: ID!
){
node( id: $id ) {
... on OrganizationMigration {
id
sourceOrgUrl
targetOrgName
state
failure_reason
remaining_repositories_count
total_repositories_count
}
}
}
Abfragevariable | Beschreibung |
---|---|
id | Die id deiner Migration |
Es empfiehlt sich, nach Abschluss der Migration das Migrationsprotokollrepository zu überprüfen. Weitere Informationen finden Sie unter Zugreifen auf die Migrationsprotokolle für GitHub Enterprise Importer.
Als letzten Schritt solltest du eine Überprüfung der Integrität deiner Organisation und der migrierten Repositorys vornehmen.