Erste Schritte mit KIT-GitLab
GitLab ist eine Open-Source-Lösung zum Hosten und Verwalten von "Git"-Repositories. Die Nutzende können die Software zur Versionsverwaltung bei Software-Projekten verwenden. GitLab bietet zudem ein Issue-Tracking-System mit Kanban-Board und ein System für Continuous Integration und Continuous Delivery (CI/CD).
Einführung in die Funktionsweise: GitLab ist ein verteiltes Versionskontroll System für Entwickler. Versionskontrolle bezieht sich auf den Prozess des Speicherns verschiedener Dateien während der verschiedenen Phasen eines Projekts. Dies ermöglicht es den Entwicklern, den Überblick zu behalten und zu einer früheren Phase zurückzukehren, wenn sie beschließen, einige der vorgenommenen Änderungen rückgängig zu machen. Sie können Ihre Software zuerst lokal entwickeln und dann Ihre Änderungen an den GitLab-Server (ursprüngliche Git-Codebasis) übertragen.
Zur Organisation eines solchen kollaborativen Arbeitsablaufs werden auch Funktionen wie Issue-Tracking, Kanban-Board und Wiki-Seite bereitgestellt. GitLab unterstützt Entwickler somit dabei, die Qualität der Programmiersprachenentwicklung zu steigern.
Anmelden
Der Sign-In erfolgt über den Federated Login Service (FeLS) des SCC, der eine Benutzeridentifizierung über eine OpenID-Verbindung ermöglicht.
Damit ist es auch möglich, dass auch externe Personen an einem GitLab-Projekt mitwirken können (siehe die Hinweise in den folgenden Schritten).
-
Klicken Sie bitte auf "FeLS – Federated Login Service"
Hinweis: Nur wenn Sie sich erstmalig über den Button "Fels – Federated Login Service" am Dienst anmelden und somit registrieren, können Sie anschließend zu Projekten oder Gruppen im KIT-GitLab hinzugefügt werden.
-
Sie werden nun zur Seite des Federated Login Service weitergeleitet. Suchen Sie im Suchfilter nach "Karlsruher Institut für Technologie" oder "KIT" bzw. ihre Heimatorganisation und wählen Sie FORTFAHREN(PROCEED).
Hinweis: Externe Nutzende die zur Mitarbeit in einem KIT-GitLab-Projekt eingeladen wurden wählen hier Ihren Heimat-Identity-Provider aus.
-
Sie werden nun zur Seite des KIT-Identity-Provider weitergeleitet um sich dort zu authentifizieren (Identitätsprüfung). Voraussetzung ist ein gültiges KIT-Konto der Form "ab1234" (Beschäftigte) bzw. "unnnn" (Studierende).
Hinweis: Externe Nutzende die zur Mitarbeit in einem KIT-GitLab-Projekt eingeladen wurden werden hier zu Ihren Heimat-Identity-Provider weitergeleitet um sich dort zu authentifizieren (Identitätsprüfung). Sie verwenden dafür die Zugangsdaten ihrer Heimateinrichtung.
Verbindung zu KIT-GitLab
Es gibt zwei Möglichkeiten zur direkten Kommunikation mit Repositories in GitLab:
-
HTTPs mit persönlichem Zugriffstoken
bei Nutzung der Web-Oberfläche erstellt Gitlab diesen automatisch
Hinweis: ⚠ Die unterstützten OmniAuth 2.0-Anbieter unterstützen keine Git-über-HTTPs-Passwortauthentifizierung. Um dieses Problem zu umgehen, können Sie sich mit einem persönlichen Zugriffstoken authentifizieren.
1. SSH Verbindung mit SSH-Schlüsseln
GitLab verwendet das SSH-Protokoll, um sicher mit git zu kommunizieren. Wenn Sie SSH-Schlüssel zur Authentifizierung beim GitLab Server verwenden, müssen Sie nicht jedes Mal Ihren Benutzernamen und Ihr Passwort angeben.
Um das Projekt mit einer SSH-Verbindung inklusive Schlüssel zu verknüpfen, gehen Sie bitte wie folgt vor:
-
Erstellen Sie den SSH-Schlüssel auf Ihrem lokalen Computer.
ssh-keygen -t ed25519 -C <Kommentar>
Im Allgemeinen könnte der Kommentar Ihre E-Mail-Adresse oder Hostname sein, wo der Schlüssel generiert wurde
-
Konfigurieren Sie Ihre Einstellung für SSH in
~/.ssh/config
auf Ihrem lokalen Rechner.# KIT GitLab-Instanz Host gitlab.kit.edu PreferredAuthentications publickey IdentityFile ~/.ssh/id_ed25519
Die gespeicherten SSH-Schlüssel in GitLab finden Sie in der Benutzereinstellung [https://gitlab.kit.edu/-/profile/keys]. Sie können Ihren SSH-Schlüssel hinzufügen, indem Sie den öffentlichen Teil Ihres SSH-Schlüssels in das Eingabefeld einfügen.
Wenn Sie das Hinzufügen Ihrer Schlüssel zu Ihrem Benutzerprofil abgeschlossen haben, können Sie diesen Befehl anwenden, um Ihr Projekt-Repository in Ihrem lokalen Rechner zu klonen(unterladen):
git clone git@gitlab.kit.edu/kit/institute/group/project.git
Die passende Bezeichnung des gewünschten Repository für die SSH Verbindung kann man auch direkt auf der Gitlab-Projektseite über den "Code" Button kopieren. Die meisten modernen Betriebssysteme, Linux/MacOS/Windows, unterstützen die Git-Anwendung zur Verwendung der Befehlszeilenschnittstelle von der Shell-Konsole aus.
Weitere Informationen zur SSH-Verbindung finden Sie auf der offiziellen GitLab-Dokumentationsseite. Use SSH keys to communicate with GitLab
2. HTTPs mit persönlichem Zugriffstoken
Alternativ sollten Sie zum Klonen und Pushen sowie für andere Aktionen in Gitlab ein persönliches Zugriffstoken verwenden. Wenn Sie nicht die Möglichkeit haben, Ihr Projekt über das SSH-Protokoll zu klonen, können Sie stattdessen über HTTPS auf Ihr Projekt zugreifen.
Die Einstellungen für das persönliche Zugriffstoken finden Sie direkt unter [https://gitlab.kit.edu/-/profile/personal_access_tokens]
- Geben Sie einen Namen ein (z.B.: Mein-API-Token, Test-Token...).
- (Optional) Legen Sie ein Ablaufdatum fest. Ab diesem Datum funktioniert der erstellte Token nicht mehr.
- Wählen Sie einen oder mehrere Bereiche aus. Für den API-Zugriff ist der Scope API ausreichend, für den https-Zugriff mit persönlichem Zugriffstoken.
- Klicken Sie auf "Create personal access token".
Der Token wird Ihnen nun für eine Weile angezeigt.
Wichtige Hinweis: Sichern Sie Ihren Token, sobald Sie die Seite verlassen oder den Browser schließen, können Sie den Token nicht mehr anzeigen.
Sie können jetzt mit einer passwortlosen HTTPs-Verbindung auf das Git-Repository in KIT-GitLab zugreifen.
git clone https://<Benutzername>:<persönlicher_Zugriffstoken>@gitlab.kit.edu/kit/group/project.git
Sie können Ihren persönliche Zugriffstoken dauerhaft in Ihrem GitLab-Workflow festlegen.
-
Öffnen Sie Ihre Git-Konfigurationsdatei in Ihrem Home-Verzeichnis
cat ~/.git/config ------------------------------------------------------------------------------------------- [remote "origin"] url = https://<Usernamen>:<persönliches_Zugriffstoken>@gitlab.kit.edu/kit/group/project.git fetch = +refs/heads/*:refs/remots/origin/*
-
Direkt können Sie persönlichen Zugriffstoken mit dem folgenden Befehl festlegen
git remote set-url origin https://<Usernamen>:<persönliches_Zugriffstoken>@gitlab.kit.edu/kit/group/project.git
Weitere Informationen zur https-Verbindung mit persönlichem Zugriffstoken finden Sie auf der offiziellen GitLab-Dokumentationsseite. Clone repository using personal access token
Projekt erstellen
Um ein Projekt erstellen zu können, müssen Sie am GitLab-Dienst angemeldet sein. Sie könnten ein privates Projekt innerhalb Ihres eigenen Namespaces erstellen, besser ist es aber, wenn Sie ein Projekt in einer Gruppe unter Ihrer Organisationseinheit erstellen. Diese Möglichkeit steht grundsätzlich erst ab der zweiten Ebene der KIT-Organisation für die Nutzer des KIT zur Verfügung. [KIT Organisation]
https://gitlab.kit.edu/Vornamen.Nachnamen/myproject.git
https://gitlab.kit.edu/kit/scc/myproject.git
Die konfigurierbaren Benutzerdaten für das Projekt sind::
-
Projektname
- Name des Projekts, z.B. "mein Projekt". Darf keine Leer- oder Sonderzeichen enthalten.
-
Sichtbarkeitsstufe
- Private : Nur Sie selbst können das Projekt sehen
- Intern : Alle Benutzer der KIT-GitLab-Instanz können das Projekt sehen
ACHTUNG: auch angemeldete Externe Nutzende anderer Organisationen können diese internen Projekte im KIT-Gitlab sehen!
- Öffentlich : Das Projekt ist weltweit einsehbar
Gruppe erstellen
https://docs.gitlab.kit.edu/de/Organisation/#gruppen-anlegen
Git für Windows
Sie können Git für Windows herunterladen über https://gitforwindows.org/
Um git auf Windows zu nutzen, gibt es mehrere Möglichkeiten. Nachfolgend finden Sie einen der empfohlenen Ansätze unter Windows.
Schulungen
GitLab bietet unter https://levelup.gitlab.com/learn/dashboard kostenlose Trainings an. Diese können derzeit kostenfrei genutzt werden.
KIT-Angehörige können zudem kostenfrei an Schulungen zu Gitlab über die Helmholtz-Cloud (HIFIS) und HELMHOLTZ Information & Data Science Academy (HiDA) teilnehmen. Informationen zu aktuellen Angeboten befinden sich unter Education & Training und im HiDA Course Catalog.