Direkt zum Hauptinhalt

Verknüpfung JHub ↔ GitLab

Du kannst Daten aus dem JupyterHub einfach in ein Git-Repository übertragen oder Daten von dort in dein Jupyter-Notebook herunterladen.

Vorbereitungen

Bevor du dein GitLab-Repository im JupyterHub verwenden kannst, benötigst du Zugriff auf

Eine 3. Möglichkeit mit Benutzername und Passwort des THL-IT-Kontos entfällt ab dem 4.3.2025 ersatzlos. Bitte SSH-Schlüssel oder Personal Access Token benutzen! {.is-info}

SSH-Schlüssel

Bei dieser Anmeldemethode werden 2 zusammengehörige Schlüssel generiert. Mithilfe des privaten Schlüssels kann man sich gegen den öffentlichen Schlüssel, welcher im GitLab hinterlegt ist, authentifizieren. Die beiden Schlüssel überleben auch einen Neustart deiner JupyterHub-Session, sodass du auch nach Tagen erneut pushen und pullen kannst.

Wir empfehlen dringend einen eigenen SSH-Schlüssel für die Verwendung mit dem JupyterHub zu generieren und nicht einen bereits vorhandenen privaten Schlüssel hochzuladen. {.is-warning}

  1. Starte auf der Launcher-Übersicht eine Terminal-Session. jhub-ssh-1.png
  2. Tippe das Kommando ssh-keygen -t ed25519 -C "jupyterhub_<Username>" in das Fenster ein, wobei du deinen Usernamen statt des Platzhalters eingibst und bestätige die Eingabe mit der Enter-Taste. jhub-ssh-2.png
  3. Für Speicherort der Datei(en) bitte unbedingt den Stdard beibehalten und die leere Zeile mit Enter bestätigen. Optional kann hier eine Passphrase gesetzt werden. Diese musst du dir selbst merken. Alternativ kann dort auch ohne etwas einzugeben mit Enter 2x bestätigt werden. jhub-ssh-3.png
  4. Den öffentlichen Schlüssel (PubKey) erhältst du nach Eingabe des Kommandos cat ~/.ssh/id_ed25519.pub und Bestätigung durch Enter. jhub-ssh-4.png
  5. Diese Zeile kopieren und auf das GitLab unter https://git.mylab.th-luebeck.de/-/user_settings/ssh_keys wechseln. Ggf. einloggen und auf den Button Add new key klicken. jhub-ssh-5.png
  6. Den öffentlichen Schlüssel aus der Zwischenablage in das Feld Key einfügen. Der Titel wird automatisch erkannt. Ggf. das Expiration date auf ein sinnvolles Datum stellen oder mittels x entfernen. Abschließend den Key mit Add key speichern. jhub-ssh-6.png

Personal Access Token

Bei dieser Anmeldemethode wird dein THL-IT-Konto Passwort durch einen zeitlich begrenzten Token ersetzt, der im GitLab verwaltet wird. Somit musst du nicht mehr dein eigentliches Passwort für Git-Befehle verwenden.

  1. Gehe zum GitLab unter https://git.mylab.th-luebeck.de/-/user_settings/personal_access_tokens. Klicke auf Add new token. jhub-pat-1.png
  2. Wähle einen Titel wie bspw. JupterHub, entferne das Ablaufdatum (Token ist trotzdem max. 1 Jahr gültig), und wähle die Scopes api, read_repository und write_repository. Klicke abschließend auf Create personal access token.

Stelle sicher, dass du die scopes (read|write)_repository und nicht fälschlicherweise (read|write)_registry angeklickt hast! {.is-info}

jhub-pat-2.png 3. Notiere dir den Personal Access Token an einem sicheren Ort. Dies ist das einzige und letzte Mal, dass du ihn siehst. Dur wirst ihn aber mehrfach benötigen! jhub-pat-3.png

Git-Operationen

Mit diesen Zugangsdaten kannst du nun über das Git-Menü im JupyterHub ein Repository klonen oder Daten in ein Repository pushen. Das Git-Menü findest du im Menü am oberen Bildschirmrand. jhub-git-1.png

Trage im Eingabefeld für die Git URI die entsprechende SSH oder HTTPS URL ein, die du in deinem Git-Repository findest. jhub-git-2.png

Pull und Push Operationen können nun bequem über das Git-Menü am oberen Bildschirmrand durchgeführt werden. Commits können im Git-Tab auf der linken Bildschirmseite erzeugt werden. jhub-git-3.png

All die Commits funktionieren natürlich auch über die Kommandozeile. Die entsprechenden Kommandos finden sich in der Git-Dokumentation.