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}
- Starte auf der Launcher-Übersicht eine Terminal-Session.

- 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.
- 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.

- Den öffentlichen Schlüssel (PubKey) erhältst du nach Eingabe des Kommandos
cat ~/.ssh/id_ed25519.pubund Bestätigung durch Enter.
- 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.

- 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.

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.
- Gehe zum GitLab unter https://git.mylab.th-luebeck.de/-/user_settings/personal_access_tokens. Klicke auf Add new token.

- 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_repositoryundwrite_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}
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!

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.

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

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.

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