Banner

GitLab

Betriebsbedingungen des GitLab-Dienstes am LRZ.

Git ist eine verteilte Software zur Versionsverwaltung für Dateien. Sie ermöglicht eine einfache Kollaboration mit mehreren Personen an einem Projekt, aber auch eine Versionsverwaltung, beispielsweise für das Verfassen wissenschaftlicher Texte oder von Abschluss- und Doktorarbeiten mit LaTeX oder XML.

Das LRZ bietet mit GitLab einen web-basierten Dienst zur Verwaltung von Git-Repositories. 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 gemeinsam und transparent durchgeführt werden können.

Nachfolgend finden Sie die Randbedingungen zum Gitlab-Dienst am LRZ.

Berechtigung

Es sind alle Mitglieder der TUM, LMU und sonstigen Münchner Hochschulen zur Nutzung des GitLab-Dienstes berechtigt. Dazu ist eine LRZ-, TUM- oder LMU-Kennung 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 den Servicedesk.

Speicherplatz

Generell gilt, dass Git-Repositories relativ klein bleiben sollten (zweistellige MB-Bereiche). Für binäre Formate wie Bildarchive, doc(x) (Microsoft Word) oder odt (Open-/Libreoffice) ist git(lab) nicht gut geeignet. Hier empfehlen wir den LRZ-Cloudspeicher Sync+Share.

Da sich das allerdings oft nicht vermeiden lässt (z.B. Bilder bei wissenschaftlichen Arbeiten), existiert derzeit kein Limit für die Größe einzelner Projekte. Sollte eines Ihrer Projekte unverhältnismäßig groß werden, werden Sie vom LRZ-Team kontaktiert, um eine Lösung zu erarbeiten. Zur Wahrung eines sicheren und stabilen Betriebes behalten wir uns vor, sehr große Projekte zeitweise für den Schreibzugriff zu sperren oder ganz zu deaktivieren.

Projektlimit

Es dürfen höchstens 5 private Projekte angelegt werden. Dieses Limit kann in begründeten Fällen jederzeit angehoben werden.

Was passiert mit Projekten von gelöschten Kennungen?

Sollte die Kennung eines Benutzers gelöscht werden, wird dieser Benutzer auch für GitLab gesperrt. Alle Projekte, die diesem Benutzer gehören, werden automatisch archiviert und somit nicht mehr in der GitLab-Übersicht gelistet. Es ist lediglich ein lesender Zugriff auf archivierte Projekte möglich.

Die Archivierung findet nur statt, falls der Benutzer alleiniger Master-Benutzer im entsprechenden Projekt war.

Wenn ein Projekt nach Löschung einer Benutzerkennung weiter aktiv bleiben soll, muss es vorher einem anderen GitLab-Benutzer transferiert werden. Dazu muss einfach ein weiterer Benutzer in den Projekteinstellungen als Master-Benutzer eingetragen werden.

Archivierte Projekte, die keinem aktiven Benutzer gehören, werden nach 6 Monaten endgültig aus GitLab gelöscht.

Backup

Das LRZ erzeugt tägliche Backups der kompletten GitLab-Instanz. Diese Backups werden dediziert gelagert und regelmäßig auf Integrität überprüft.

Die Backups dienen allerdings nur dazu, GitLab nach einem kritischen Fehler wiederherzustellen. Dabei wird die komplette GitLab-Instanz auf den Zeitpunkt des Backups zurückgesetzt. Eine Wiederherstellung einzelner Projekte im laufenden Betrieb ist derzeit nicht möglich.

Eine Wiederherstellung von Repositories, die vom Benutzer gelöscht wurden, ist innerhalb von 7 Tagen möglich, sofern das Projekt bereits einmal im Backup vorhanden ist. Dabei kann allerdings nur das Git-Repository wiederhergestellt werden, alle Issues, Merge Requests und Snippets können nach dem Löschen des Projekts nicht wiederhergestellt werden.

GitInvited

GitInvited wurde entwickelt, um externen Kooperationspartnern ebenfalls einen GitLab-Zugang geben zu können. Dabei hat jeder Benutzer, der sich mit Hilfe eines LDAP-Accounts (z.B. LRZ-, TUM- oder LMU-Kennung) in GitLab eingeloggt hat, ein Kontingent von 20 Einladungen. Diese Einladungen können über GitInvited an beliebige Email-Adressen versendet werden. Die Email-Adresse darf dabei noch nicht in GitLab registriert sein.

Der Benutzer, der die Einladung versendet hat (im weiteren Verlauf "Parent User"), wird in der GitInvited-Datenbank mit dem eingeladenen Benutzer ("Child User") verknüpft. So hat das LRZ auch für diese externen Benutzer immer einen Ansprechpartner.

Falls ein Parent User in GitLab geblockt wird (z.B. weil seine Kennung abgelaufen ist), werden alle Child User, für die er verantwortlich ist, ebenfalls geblockt. Um dies zu verhindern, kann ein Parent User weitere, per LDAP authentifizierte Benutzer in GitInvited zu einem Child User hinzufügen. Diese Option steht in der Child User-Übersicht zur Verfügung. Die automatische Sperrung eines Child Users findet nicht statt, sofern mindestens ein aktiver Parent User vorhanden ist.

Obwohl GitInvited und GitLab unter verschiedenen URLs erreichbar sind, findet eine Kommunikation beider Dienste untereinander statt. Beim erstmaligen Login kommt es daher vor, dass man im Zuge des OAuth-Login-Verfahrens zwischen den Anwendungen weitergeleitet wird.