Für die meisten Kunden empfehlen wir das Speichern von Archiven mit GitHub-owned blob storage. Dies ist der einfachste Pfad und erfordert keine zusätzliche Konfiguration.
Möglicherweise möchten Sie jedoch den Speicher mit einem externen Anbieter konfigurieren, wenn Sie über Firewallanforderungen verfügen oder Archive nach Abschluss der Migration aufbewahren müssen.
Auswählen des Speicherorts für Archiven
Das GL2GH extension exportiert jedes GitLab-Projekt in ein Archiv und lädt dann das Archiv in blob-Speicher hoch, aus dem GitHub gelesen werden kann. Sie wählen das Speicher-Back-End aus, wenn Sie eine Migration ausführen.
| Speicheroption | Auswählen | Hinweise |
|---|
GitHub-owned blob storage (empfohlen) | --use-github-storage | Es ist kein Setup erforderlich.
GitHub löscht das Archiv automatisch nach einer erfolgreichen Migration oder sieben Tage nach einer fehlgeschlagenen Migration.
AWS S3 |
--aws-bucket-name (mit den AWS_REGIONVariablen , AWS_ACCESS_KEY_IDund AWS_SECRET_ACCESS_KEY Umgebungsvariablen und optional AWS_SESSION_TOKEN) | Sie besitzen den Bucket und seinen Lebenszyklus.
GitHub löscht keine Archive aus Ihrem Speicher.
Azure Blob Storage (Speicherdienst von Azure für unstrukturierte Daten) |
AZURE_STORAGE_CONNECTION_STRING Umgebungsvariable (für einen einzelnen migrate-repo Befehl können Sie stattdessen verwenden --azure-storage-connection-string) | Nur Zugriffstastenzeichenfolgen für Speicherkonten werden unterstützt (nicht SAS).
GitHub löscht keine Archive aus Ihrem Speicher.
Konfigurieren des Blobspeichers
Wenn Sie verwenden GitHub-owned blob storage, müssen Sie nichts konfigurieren. Sie verwenden das --use-github-storage Flag, um diese Methode mit der CLI auszuwählen. Sie können jedoch die GITHUB_OWNED_STORAGE_MULTIPART_MEBIBYTES Variable (Standard 100 MiB, mindestens 5 MiB) auf eine niedrigere Zahl festlegen, wenn Sie über eine langsame oder proxie Verbindung verfügen.
Wenn Sie externen BLOB-Speicher verwenden, müssen Sie dies einrichten.
Einrichten eines AWS S3-Speicherbuckets
Richte in AWS einen S3-Bucket ein. Weitere Informationen findest du unter Erstellen von Buckets in der AWS-Dokumentation.
Außerdem benötigst du einen AWS-Zugriffsschlüssel und einen geheimen Schlüssel mit den folgenden Berechtigungen:
{
"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/*"
]
}
]
}
Hinweis
GitHub Enterprise Importer löscht dein Archiv nach Abschluss der Migration nicht aus AWS. Zur Verringerung der Speicherkosten wird empfohlen, das automatische Löschen deines Archivs nach einem bestimmten Zeitraum zu konfigurieren. Weitere Informationen findest du unter Festlegen der Lebenszykluskonfiguration für einen Bucket in der AWS-Dokumentation.
Wenn du bereit bist, die Migration auszuführen, musst du deine AWS-Anmeldeinformationen in der GitHub CLI angeben: Region, Zugriffsschlüssel, geheimer Schlüssel und Sitzungstoken (falls erforderlich). Du kannst sie als Argumente übergeben oder die Umgebungsvariablen AWS_REGION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY und AWS_SESSION_TOKEN festlegen.
Du musst auch den Namen des S3-Buckets im --aws-bucket-name.Argument übergeben.
Einrichten eines Azure Blob Storage-Speicherkontos
Erstelle in Azure ein Speicherkonto, und notiere dir die Verbindungszeichenfolge. Weitere Informationen findest du unter Verwalten von Speicherkonto-Zugriffsschlüsseln in der Microsoft-Dokumentation.
Hinweis
GitHub Enterprise Importer löscht dein Archiv nach Abschluss der Migration nicht aus Azure Blob Storage. Zur Verringerung der Speicherkosten wird empfohlen, das automatische Löschen deines Archivs nach einem bestimmten Zeitraum zu konfigurieren. Weitere Informationen findest du unter Optimieren von Kosten durch automatisches Verwalten des Datenlebenszyklus in der Microsoft-Dokumentation.
Wenn du bereit bist, die Migration auszuführen, kannst du deine Verbindungszeichenfolge entweder als Argument an die GitHub CLI übergeben oder mithilfe der Umgebungsvariable AZURE_STORAGE_CONNECTION_STRING übergeben.
Zulassen des Netzwerkzugriffs
Wenn Sie Firewallregeln für Ihr Speicherkonto konfiguriert haben, müssen Sie sicherstellen, dass Sie Zugriff auf die IP-Adressbereiche für Ihr Migrationsziel haben. Siehe Verwalten des Zugriffs für eine Migration von GitLab zu GitHub.