GitLab
Git ist eine Software zur verteilten Versionsverwaltung von Dateien (engl. Distributed version control). Die Nutzung einer Versionsverwaltungssoftware macht es u.a. möglich, dass Änderungen an Dateien nachverfolgt werden können. Dies erleichtert die Zusammenarbeit mehrerer Personen an einem Projekt, da gleichzeitige Änderungen nicht zu Dateiüberschreibungen und damit zu Informationsverlusten führen, sondern mithilfe der Software zusammengeführt werden können. Versionsverwaltungssoftware wird häufig in der Softwareentwicklung eingesetzt, doch eignet sie sich beispielsweise auch zur Arbeit an wissenschaftlichen Texten wie Abschluss- und Doktorarbeiten, die mit der Textsatzsoftware LaTeX verfasst werden.
Mit GitLab bietet das LRZ einen web-basierten Dienst zur Verwaltung von Git-Repositories an. GitLab stellt neben den eigentlichen Repositories Werkzeuge wie Wikis und einen Issue-Tracker bereit. Mit "Merge Requests" gibt es ein Mittel, mit dem Code-Reviews kollaborativ und transparent durchgeführt werden können.
Im Folgenden finden Sie eine Übersicht über die wichtigsten Eckdaten. Weiterführende Informationen entnehmen Sie bitte den GitLab-FAQ.
Inhalt
Aktuelles
11.05.2023 | LRZ GitLab wurde zur Version 15.11 aktualisiert. |
06.04.2023 | LRZ GitLab wurde zur Version 15.10 aktualisiert. |
09.03.2023 | LRZ GitLab wurde zur Version 15.9 aktualisiert. |
16.02.2023 | LRZ GitLab wurde zur Version 15.8.2 aktualisiert. |
09.02.2023 | LRZ GitLab wurde zur Version 15.8 aktualisiert. |
18.01.2023 | LRZ GitLab wurde zur Version 15.7.5 aktualisiert. |
12.01.2023 | LRZ GitLab wurde zur Version 15.7 aktualisiert. |
08.12.2022 | LRZ GitLab wurde zur Version 15.6 aktualisiert. |
17.11.2022 | LRZ GitLab wurde zur Version 15.5 aktualisiert und die Rechenleistung der Application Server erhöht. |
10.11.2022 | LRZ GitLab wurde zur Version 15.4 aktualisiert. |
06.10.2022 | LRZ GitLab wurde zur neuesten Version der 15.3-Reihe aktualisiert. Aufgrund während der Vorbereitung und Tests entdeckte technische Probleme wurde die Aktualisierung zur Version 15.4. zu einem späteren Zeitpunkt verschoben. |
01.09.2022 | LRZ GitLab wurde zur Version 15.3 aktualisiert. |
05.08.2022 | Ein Task zum Aufräumen alter unbenutzter Docker-Container aus der Container Registry wurde ausgeführt. Zwischen Do 4.8. um 16 Uhr und Fr 5.8. um 18 Uhr war damit zur Registry nur Lesezugriff möglich. Sonst konnte der Dienst normal benutzt werden. |
04.08.2022 | LRZ GitLab wurde zur Version 15.2 aktualisiert. |
Nutzungsberechtigung
Zur Nutzung des LRZ-Dienstes GitLab berechtigt sind alle Mitglieder von TUM, LMU und sonstigen Münchner Universitäten und Hochschulen. Dazu ist eine Kennung von LRZ oder einer der teilnehmenden Universitäten oder Hochschulen nötig.
Sofern noch keine automatische Freischaltung erfolgt ist, können einzelne Benutzerkennungen vom verantwortlichen Master User über unser ID-Portal freigeschaltet werden. Falls dies nicht möglich ist, wenden Sie sich bitte an das LRZ Servicedesk.
Bitte beachten Sie, dass LRZ GitLab nur für nicht-kommerzielle Forschung und Lehre verwendet werden darf. Eine professionelle Nutzung in der IT-Abteilung und / oder die Verwendung für die institutionelle Verwaltung ist nicht erlaubt. Diese Begrenzung kommt aus der Bedingungen der GitLab for Education Programme. Detaillierte Information in Englisch finden Sie auf den folgenden GitLab-Seiten:
Sie brauchen sich nicht als Person oder Einrichtung in das Education Programm auf der GitLab-Seite zu registrieren. Das hat LRZ für die teilnehmende Universitäten bereits gemacht.
Speicherplatz
Da Git auf die Versionsverwaltung von Textdateien (Nur-Text-Format, Quellcode-Dateien etc.) ausgelegt ist, gilt generell, dass Git-Repositories relativ klein (< 1 GB) bleiben sollten.
Für binäre Formate wie Bildarchive, Microsoft-Office-Dateien (.doc, .docx, .xls, .xlsx etc.), LibreOffice-/OpenOffice-Dateien (.odt, .ods etc.) oder sehr dynamische Daten wie Logs ist Git nicht gut geeignet. Für diesen Zweck unterstützt GitLab die Erweiterung Large File Storage (LFS). Wenn Sie binäre Dateien in ihrem Projekt haben, bitte von Anfang an LFS installieren und aktivieren. Eine spätere Migration der Dateien nach LFS ist deutlich komplizierter.
Im LRZ GitLab gelten die folgende Grenzwerte:
- Maximale Dateigröße beim Upload: 2 GB
- Maximale Größe des Repository inklusive LFS-Dateien: 10 GB
Die Größe des Repository ist als die Angabe "X MB Files" oben auf der Projektseite in GitLab zu finden. Die Angabe "Storage" zeigt die Gesamtgröße des Projekts inklusive der Artifacts, die den Grenzwert überschreiten dürfen. Bitte beachten Sie, dass die Werte gecached sind und daher möglicherweise nicht unmittelbar die tatsächliche Größe widerspiegeln, kurz nachdem Änderungen im Repository vorgenommen wurden.
Die maximale Größe des Repository kann bei Bedarf von den Administratoren für individuelle Projekte erhöht werden. Voraussetzung dafür ist eine ordnungsgemäße Nutzung von Git LFS. Bitte wenden Sie sich gegebenenfalls an den LRZ Servicedesk.
Um einen stabilen Betrieb sicherzustellen, werden wir im Januar 2021 ein Speicherplatzkontingent einführen. Neue Projekte können damit den Grenzwert nicht mehr überschreiten. Für bestehende größere Projekte, bei denen LFS ordnungsgemäß konfiguriert ist, werden wir automatisch ohne Rückfrage ein höheres Limit setzen. Eigentümer von zu großen Projekten ohne LFS werden kontaktiert und gebeten, ihre Repositories zu verkleinern. Eine Anleitung dafür ist in der GitLab-FAQ zu finden.
Projektlimit
Es dürfen höchstens 10 persönliche Projekte angelegt werden. Dieses Limit kann in begründeten Fällen angehoben werden. Bitte wenden Sie sich dazu an das LRZ Servicedesk. Als Alternative, bitte organisieren Sie Ihre Projekte in Gruppen (siehe unten).
Gruppen
Bei logisch zusammengehörigen Projekten bietet sich die Nutzung von GitLab-Gruppen an. Innerhalb einer GitLab-Gruppe ist die Projektanzahl nicht beschränkt. Eine Gruppe hat auch den Vorteil, dass die Rechteverwaltung für gewöhnlich erleichtert und übersichtlicher wird. Außerdem vererbt sich die Rolle eines Nutzers einer Gruppe zu allen Projekten in der Gruppe.
Sichtbarkeit der Projekte und Gruppen
In GitLab kann man bei Projekten und Gruppen die folgenden Stufen der Sichtbarkeit einstellen:
Sichtbarkeit | Bedeutung / Auswirkung |
---|---|
Private |
|
Internal |
|
Public |
|
Alle Details zu den Stufen der Sichtbarkeit sowie zu den Rollen und Rechten finden Sie in den folgenden GitLab-Artikeln:
Wichtige Sicherheitshinweise
- Beim LRZ-GitLab können sich über 100.000 Personen einloggen! Dabei handelt es sich um alle Personen, die zur LMU, zur TUM und noch weiteren Münchner Hochschulen und wissenschaftlichen Einrichtungen gehören.
- Bei einer so großen Anzahl von berechtigten Personen kann es vorkommen, dass eine oder mehrere Kennungen kompromittiert sind und unberechtigte Personen (Kriminelle usw.) diese Kennungen nutzen. Diese unberechtigten Personen haben dann auch Lese-Zugriff auf alle Projekte und Gruppen mit der Sichtbarkeit "Internal".
- Man kann von jedem Ort der Welt aus auf das LRZ-GitLab zugreifen. Es gibt keine geographischen oder sonstigen Einschränkungen.
Fazit: Zu Ihrem eigenen Schutz sollten Sie die Sichtbarkeit "Internal" fast wie "Public" betrachten.
Öffentliche Projekte
Es besteht die Möglichkeit, Projekte zu veröffentlichen, so dass sie ohne Login geklont werden können. Die benötigte Einstellung für das Projekt darf aus Sicherheitsgründen (s.u.) nur von den GitLab-Administratoren vorgenommen werden. Bitte geben Sie dazu den Projektnamen oder -pfad mit einer entsprechenden Nachricht an den LRZ Servicedesk weiter; bitte wählen Sie dabei die Methode "Selfservice", damit wir Ihre Berechtigung überprüfen können.
Wir empfehlen, alle öffentlichen Projekte in Gruppen einzuordnen, damit sie nicht von persönlichen GitLab-Kennungen abhängig sind. Wenn ein Projekt öffentlich sichtbar sein soll, dann muss auch die Gruppe, zu der das Projekt gehört, öffentlich sichtbar gemacht werden.
Bei öffentlichen Projekten sind die folgenden Informationen öffentlich sichtbar (allgemein zugreifbar):
- Bei jedem Commit der Name und die E-Mail-Adresse, wie sie in der Konfiguration von Git hinterlegt wurden.
- Bei GitLab der GitLab-Benutzername (Username), wie er bei den Benutzereinstellungen (User Settings) im Abschnitt "Konto" (Account) festgelegt wird. Der Benutzername ist bei persönlichen Projekten im Pfad sichtbar.
Bis Januar 2020 wurde beim ersten Anmelden der GitLab-Benutzername mit der eigenen Benutzerkennung initialisiert, die von der eigenen Einrichtung vergeben wird (LMU, TUM, HM, HSWT). Wir bitten alle betroffenen Mitglieder der öffentliche Projekte ihre GitLab-Benutzernamen zu ändern (Settings → Account → Change Username), so dass die eigene Benutzerkennung nicht allgemein sichtbar wird. Begründung:
- Das LRZ muss die Benutzerkennung im Hinblick auf den Datenschutz vertraulich behandeln.
- Die Benutzerkennung kann bei einem Social-Engineering-Angriff eingesetzt werden, um beim Opfer Vertrauen aufzubauen: <<Liebe Kundin, lieber Kunde mit der Kennung Abcxyz>>
- Beim Angriff auf Passwörter gibt es mehrere Varianten. Beim "Online Attack Scenario" versucht der Angreifer, sich über den ganz normalen Zugang anzumelden. Dabei muss der Angreifer aber sowohl die Benutzerkennung als auch das dazugehörige Passwort kennen bzw. erraten.
Wenn Sie Ihren GitLab-Benutzernamen ändern, passt GitLab bei persönlichen Projekten die Web-Adressen und Repository-URLs automatisch entsprechend an. Bei Projekten, die zu einer Gruppe gehören, ändert sich nichts, weil in den betreffenden URLs kein Benutzername enthalten ist. Weitere Details zur Änderung des eigenen GitLab-Benutzernamens findet man in der GitLab-Dokumentation.
Continuous Integration / Continuous Delivery (CI/CD)
Die CI-/CD-Integration kann auf Projektebene aktiviert werden (Einstellungen/Settings → General → Permissions → Pipelines). Damit ist allerdings nur die Möglichkeit gegeben, die Kommunikation mit einem CI-Runner zu konfigurieren. Die CI-Runner selbst stellt das LRZ bis auf Weiteres nicht zur Verfügung. Sie müssen also selbst einen Runner aufsetzen und betreiben.
Mehr Information finden Sie in den folgenden Dokumenten:
- Übergreifende Dokumentation zu Runnern und CI/CD
- Installation eines CI-Runners
- Registrierung eines CI Runners
GitLab Pages
Mit der GitLab-Pages-Funktionalität können statische Webseiten aus einem Repository erstellt und veröffentlicht werden. Alle Seiten der LRZ-GitLab-Pages liegen unter der Wildcard-Domain pages.gitlab.lrz.de
. Alle Seiten von der LRZ-GitLab-Pages sind automatisch über eine sichere Verbindung (HTTPS) erreichbar.
Laut Standardeinstellung ist eine neue Pages-Seite nur mit Login und für Projekt-Mitglieder zugreifbar. Auf Wunsch kann die Seite allgemein öffentlich sichtbar gemacht werden (Settings → General → Pages access control → Everyone).
Die Benutzung der Pages-Funktionalität benötigt einen CI-Runner (siehe der Abschnitt CI/CD oben).
Die offizielle Dokumentation zu GitLab Pages stellt die Pages-Funktionalität ausführlich vor. Dort finden Sie u.a. eine detaillierte Beschreibung, wie die Adresse Ihrer Pages-Seite erstellt wird. (Bitte ersetzen Sie in den dort aufgeführten Beispielen die Domain example.io
in gedanklich durch pages.gitlab.lrz.de
.) Bitte beachten, dass für die Veröffentlichung der Seite muss der Inhalt in den Ordner public
in ihrem Repository plaziert werden.
Die maximale Größe der Pages-Seiten ist aktuell 1 GB, kann aber in begründeten Fällen angehoben werden. Bitte wenden Sie sich dazu an das LRZ Servicedesk.