Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Deutsch  English


German

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.

Nutzungsberechtigung

Zur Nutzung des LRZ-Dienstes GitLab berechtigt sind alle Mitglieder von TUM, LMU und sonstigen Münchner Hochschulen. 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 das LRZ Servicedesk.

Speicherplatz

Da Git auf die Versionsverwaltung von Textdateien (Nur-Text-Format, Quellcode-Dateien etc.) ausgelegt ist, gilt generell, dass Git-Repositories relativ klein bleiben sollten (im zweistelligen MB-Bereich).

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). Die maximale Dateigröße beim Upload liegt bei 2GB und das Gesamtlimit für Daten im LFS beträgt derzeit 25 GB.

Da es sich allerdings manchmal nicht vermeiden lässt, dass einzelne Projekte größer werden, existiert derzeit keine feste Speicherplatzbeschränkung. 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 Betriebs 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 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.

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.

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

Beim ersten Anmelden bei GitLab wird der GitLab-Benutzername mit der eigenen Benutzerkennung initialisiert, die von der eigenen Einrichtung vergeben wird (LMU, TUM, HM, HSWT). Wir bitten alle 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.

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. 

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:

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


English

Git is a distributed version control system for software source code and other files. Using version management makes it possible to track changes made to files. It facilitates collaboration between multiple people on a project because concurrent changes cannot lead to accidental overwriting of files, hence preventing information loss. Changes made by multiple people can be merged using the Git software. Versioning of files is often used in software development, but it is also suitable for working on scientific texts such as graduation and doctoral theses that are often written using the LaTeX document preparation software.

With GitLab, the LRZ offers a web-based service for managing Git repositories. In addition to the actual repositories where the files are stored, GitLab provides tools such as wikis and an issue tracker. With "Merge Requests", code reviews can be carried out collaboratively and transparently.

Below you will find an overview of the LRZ GitLab installation. Further information can be found in the GitLab-FAQ.

Terms of service

All members of TUM, LMU and other Munich universities are entitled to use the LRZ GitLab service. This requires an LRZ, TUM or LMU user ID.

If no automatic activation has been made, individual user IDs can be activated by the responsible master user via our ID Portal. If this is not possible, please contact the LRZ Servicedesk.

Storage space

Since Git is designed for versioning of text files (source code and other files in text format), Git repositories should remain relatively small (in the two-digit MB range).

For binary formats such as image archives, Microsoft Office files (.doc, .docx, .xls, .xlsx etc.), LibreOffice / OpenOffice files (.odt, .ods etc.) or very dynamic data, GitLab supports the extension Large File Storage (LFS). The maximum upload file size is 2 GB and the total limit for data in the LFS is currently 25 GB.

As it sometimes cannot be avoided that individual projects get larger, there is currently no fixed storage limit. Should one of your projects become disproportionately large, you will be contacted by the LRZ team to work out a solution. To maintain safe and stable operation, we reserve the right to temporarily block write access or to disable very large projects.

Project limit

10 personal projects may be created at most. This limit can be raised in justified cases. Please contact the LRZ Servicedesk.

Groups

For logically related projects, the use of GitLab groups is recommended. Within a GitLab group, the number of projects is not limited. A group also has the advantage that rights management usually becomes easier and clearer. In addition, the role of a user of a group is inherited to all projects in the group.

Public projects

It is possible to publish projects so that they can be cloned without logging in. The required setting for the project can only be made by the GitLab administrators. Please pass on the project name or path with a corresponding message to the LRZ Servicedesk and use the button "Selfservice" to make an authenticated request.

We recommend grouping all public projects into groups so that they are not dependent on personal GitLab identifiers. If a project is to be publicly visible, the group which the project belongs to must also be made public.

For public projects, the following information is publicly visible (generally accessible):

  • On every commit: The name and email address stored in the Git configuration
  • The GitLab username as defined in the User Settings in the Account section. For personal projects, the username is visible in the path of the project.

When you log in to GitLab for the first time, the GitLab username is initialized with your own user ID, which is assigned by your own institution (LMU, TUM, HM, HSWT). We ask all members of public projects to change their GitLab username (Settings → Account → Change Username), so that their own user ID will not become generally visible. Reasons in detail:

  • For privacy reasons, the LRZ must treat the user ID as confidential information.
  • The user ID can be used in a social engineering attack in order to build confidence in the victim: << Dear customer with the identifier Abcxyz >>
  • There are several variants of password attacks. In the "Online Attack" scenario the attacker attempts to gain access using the normal log procedure. However, the attacker must know or guess both the user ID and the associated password.

When the GitLab username is changed, GitLab automatically adjusts the web addresses and repository URLs of the user's personal projects accordingly. For projects that belong to a group, nothing changes because there is no username in those URLs. Further details on changing your own GitLab username can be found in the GitLab documentation.

GitLab Pages

The GitLab Pages feature makes it possible to create and publish static web pages directly from a repository. All LRZ GitLab Pages are served as subdomains under pages.gitlab.lrz.de. All LRZ GitLab Pages can be reached using a secure connection (HTTPS).

By default, a new GitLab Page is accessible only to project members who are logged in. However, the Page can also be made generally accessible (Settings → General → Pages access control → Everyone).

A CI runner is required for the Pages functionality.

The CI/CD integration can be activated at the project level (Settings → General → Permissions → Pipelines). However, you can only configure the communication with a CI runner. LRZ does not provide shared CI runners until further notice, which means you will have to set up and operate a CI runner yourself.

See the following GitLab documentation for more details:

The GitLab Pages documentation presents the Pages functionality in detail. There you will find for example a detailed description about how the address of your GitLab Page is formed. (The documentation uses example.io as an example domain which corresponds to pages.gitlab.lrz.de on the LRZ GitLab platform.)