Zum Inhalt

Migration

GitLab bietet verschiedene Möglichkeiten der Übertragung von Projekten und Gruppen, damit die Daten von den Nutzern direkt zwischen den Gitlab-Instanzen vom aktuellen zum neuen System mithilfe der UI oder der API übertragen werden.

Pilot GitLab: https://git.scc.kit.edu    ➠    KIT-GitLab : https://gitlab.kit.edu

Es git zwei Ansätzen für Migration/Datenübertragung: Datei exportieren oder direkt übertragen. Darüber hinaus können Sie Projekte auch unter Ihrem Konto übertragen, indem Sie den Standard-Git-Befehl verwenden oder direkt von der Web-Benutzeroberfläche herunterladen.

Hinweis: Fortgeschrittene Benutzer können auch die Verwendung von congregate in Betracht ziehen, einem Automatisierungs-Wrapper für den Export/Import rund um GitLab-APIs


Projekt Transfer

1. Direktübertragung für Projekt

KIT-GitLab

  1. Erstellen Sie ein neues Projekt: In der oberen Leiste finden Sie ein new project alt text , und wählen dann Import project aus.

    alt text

  2. Wählen Sie Repository nach URL oder GitLab-Export

    alt text

  3. Fragen Sie nach den Anmeldeinformationen von Pilot Gitlab und geben Sie bitte Ihr neues Projekt und Ihre URL ein.

    alt text

    • Das Repository muss über http://, https:// oder git:// erreichbar sein.
    • Wenn Sie die Protokolle http:// oder https:// verwenden, geben Sie bitte die genaue URL zum Repository an. HTTP-Weiterleitungen werden nicht befolgt. z.B. https://git.scc.kit.edu/ab1234/your_project.git (Bitte achten Sie auf ".git" am Ende)
    • Wenn Ihr HTTP-Repository nicht öffentlich zugänglich ist, fügen Sie Ihre Anmeldeinformationen hinzu.
    • Der "Import" wird nach 180 Minuten abgebrochen. Für Repositories, die länger dauern, verwenden Sie bitte eine clone/push Kombination.
  4. Klicken Sie Create project

  5. Nach dem Import können Repositorys über SSH gespiegelt werden.


2. Export File für Projekt

Pilot GitLab

  1. Gehen Sie in der Seitenleiste auf Projects
  2. Navigieren Sie zu Einstellungen ➜ Allgemein ➜ Erweitert (Settings ➜ General ➜ Advanced)

    alt text

  3. Klicken Sie auf Export project

  4. Nach dem Start des Export Projekts wird ein Download-Link per E-Mail verschickt und auf derselben Seite zur Verfügung gestellt.

KIT-GitLab

  1. Erstellen Sie ein neues Projekt mit demselben Prozess, der in der Sitzung direct transfer for project eingeführt wurde
  2. Wählen Sie "import project" aus und klicken Sie auf Gitlab export alt text
  3. Geben Sie den Projektnamen und die URL ein und wählen Sie die generierte "Export File" aus

    alt text

  4. Klicken Sie Import project


3. Git-clone

Auf Ihrem lokalen Computer

Sie können „git clone“ verwenden, um Ihr Projekt auf Ihren lokalen Computer zu kopieren. Zum Klonen eines Projekts in einer Gruppe mit https-Verbindung:

git clone https://<Usernamen>:<persönliches_Zugriffstoken>@gitlab.kit.edu/kit/group/your_project.git

Sie können auch mit ssh auf ein Projekt zugreifen:

git clone ssh://git@gitlab.kit.edu/kit/institute/subgruppe/mein_projekt.git

Weitere Informationen zur Git-Nutzung finden Sie auf der KIT-GitLab-Dokumentationsseite Erste Schritte mit KIT-GitLab


4. Quellcode herunterladen

Sie können Ihr Projekt im Dateiformat (zip / gz / bz2 / tar) von Pilot Gitlab im SCC direkt herunterladen. Anschließend sollten Sie ein neues Projekt erstellen und alle Inhalte und Datei nach dem Dekomprimieren an KIT-GitLab übertragen.

Wenn Sie ein privates Projekt im Benutzer Namespace haben, wäre dies die einfachste Möglichkeit, Ihr Projekt in ein neues GitLab-Repository zu übertragen.


Gruppen Transfer

1. Direktübertragung für Gruppe

Achtung: Das Importieren von Gruppen mit Projekten ist in der phase von Beta. Diese Funktion ist nicht für den Produktionseinsatz bereit. Wenn Sie diese Funktion nutzen, dann überprüfen sie sorgfältig, ob alle Projekte und Repositories vollständig übernommen wurden. Fehler werden ggf. nur unter https://gitlab.kit.edu/import/bulk_imports/history angezeigt, auch wenn der Status des Imports 'Complete' ist.

Pilot GitLab

KIT-GitLab

Um eine Untergruppe zu erstellen, füllen Sie das Formular unter docs.gitlab.kit.edu/group aus. Eine genaue Beschreibung des Vorgangs befindet sich unter Gruppen und Namespaces - Gruppen anlegen. Nach der Erstellung der neuen Gruppe erhalten Sie eine E-Mail vom System, dass die Gruppe angelegt ist. Oder Sie benötigen eine Berechtigung in Ihrem Institut (OU-Gruppe). Bitte beantragen Sie den Zugriff beim Owner der OU-Gruppe.

Anschließend können unterhalb der neuen Gruppe beliebige weitere Sub-Gruppen und Projekte erstellt oder migriert werden. Ebenso können Sie Gruppen in bereits vorhandene Gruppen importieren, bei denen Sie die Owner-Rolle besitzen:

  1. Wählen Sie auf der Seite Ihrer Gruppen die per Formular erstellte bzw. die gewünschte Gruppe für den Import aus.

    alt text

  2. Suchen Sie den Link „import an existing group“ aus.

    alt text

  3. Geben Sie die URL des Pilot-GitLab (https://git.scc.kit.edu) und das persönliche Zugriffstoken für Ihre Quell-GitLab-Instanz ein. Wählen Sie „Instanz verbinden“

    alt text

  4. Alle verfügbaren Importgruppen werden angezeigt. Wählen Sie die Quellgruppe aus und klicken Sie auf „Mit Projekten importieren“. Optional können Sie auch „Import ohne Projekte“ auswählen.

    alt text

Hinweis: Die Untergruppe „kit/scc/sys“ ist bereits im neuen GitLab registriert und daher kann „sys“ nicht erstellt werden, aber die Untergruppe „gitlab“ kann ohne Probleme importiert werden.

Nach der Übertragung der Projekte innerhalb der Gruppe können Sie unter gitlab.kit.edu/import/bulk_imports/history überprüfen, ob alle Projekte korrekt übertragen wurden.

2. Export File für Gruppe

Pilot GitLab

  1. Gehen Sie in der Seitenleiste zu Groups
  2. Wählen Sie die Gruppe aus und navigieren Sie dann zu Einstellungen ➜ Allgemein ➜ Erweitert (Settings ➜ General ➜ Advanced)

    alt text

  3. Klicken Sie Export group

  4. Nach dem Start des "Export Gruppe" wird ein Download-Link per E-Mail verschickt und auf derselben Seite zur Verfügung gestellt.

KIT-GitLab

  1. Laden Sie die Exportdatei auf Ihren lokalen Computer herunter
  2. Erstellen Sie eine Gruppe und wählen Sie „Gruppe importieren“.
  3. Bitte gehen Sie zur Sitzung „Gruppe aus Datei importieren“.
  4. Laden Sie bitte die generierte Exportdatei in KIT-GitLab hoch.

    alt text

  5. Klicken Sie Import

Übertragung von Nutzerbeiträgen auf Wiki und Issue Board

Es ist möglich, die Beiträge von Benutzern in Projekten und die damit verbundenen Informationen von einer Gitlab-Instanz zu einer anderen zu migrieren, z. B. vom Pilotbetrieb zur neuen GitLab-Instanz. Somit können Issues und Wikis korrekt mit ihren Autoren (Ersteller und Kommentare) und Assignees übernommen werden, statt dass der migrierende Owner plötzlich in allen Issues Selbstgespräche führt.

Voraussetzungen:

  • User existiert in der Instanz, aus der migriert wird
  • User existiert in der Instanz, in die migriert wird
  • User hat seine Mail in Pilot GitLab und in neuen GitLab auf ‚public‘ gesetzt (Profileinstellung)
  • User Settings - Edit Profile - Main Settings - Public email

    alt text alt text

  • Die public email ist in beiden GitLab Instanzen identisch.

Nach der Migration des Projekts/der Gruppe mit der Einstellung der gleichen öffentlichen E-Mail, finden Sie korrekt zugeordnete Kommentare von Mitwirkenden.

alt text alt text

1. Beitrag des Nutzers zur Gruppe

  • Die Migration einer Gruppe über Direct Transfer ermöglicht die Übertragung der Issues und des Wikis.
  • Bei der "Export und Import"(Export File) ist es nicht möglich, den Beitrag des Nutzers korrekt zu übertragen. GitLab unterstützt diese Funktion derzeit nicht.

2. Beitrag des Nutzers zum Projekt

  • Für einzelne Projekte/Repositorien muss man die Export und Import (Export File) Methode anstatt der Direct Transfer verwenden.
  • Beim Importieren von Projekten müssen Sie die Methode "GitLab Export" anstelle von "Repository by URL" verwenden.