direkt zum Inhalt springen

direkt zum Hauptnavigationsmenü

Sie sind hier

TU Berlin

Inhalt des Dokuments

GitLab

GitLab ist eine webbasierte Software zur Versionierung und gemeinsamen Bearbeitung von Programmcode mit Git. Kernkomponente ist ein Webportal an dem sich die Benutzer anmelden und eigene Projekte anlegen können. Für jedes Projekt wird automatisch ein Git-Repository angelegt, in dem dann der Programmcode versioniert abgelegt werden kann. Zusätzlich stellt GitLab zu jedem Projekt ein Wiki und einen Issue Tracker bereit, über die dann Dokumentationen angeboten bzw. Fehler oder Änderungswünsche am Programmcode erfasst und verwaltet werden können.

Für die gemeinsame Arbeit können andere Benutzer zu einem Projekt direkt oder via Gitlab-Gruppe hinzugefügt werden, wobei differenzierte Berechtigungsstufen möglich sind. Projekte können privat  (mit individuellen Rechten für Projektmitglieder), intern (lesbar für alle angemeldeten Benutzer) und öffentlich, d.h. weltweit zugänglich, (lesbar für Nicht-Authentisierte) sein.

Funktionsweise und -umfang entsprechen im Wesentlichen dem bekannten Webdienst „github.com“, jedoch werden alle Daten auf Servern des Rechenzentrums gespeichert.

Der Dienst ist somit ideal für das Verwalten von Programmcode, egal ob allein oder im Team.

Aktuelles: GitLab Major Update zum August 2021

Das nächste große Update unserer eingesetzten GitLab-Version steht an. Wir möchten alle GitLab-Nutzer*innen unseres zentralen GitLab-Dienstes unter git.tu-berlin.de bitten, sich über relevante Änderungen in der neuen Version 14.0 hier zu informieren. Es wäre möglich, dass Anpassungen in den bestehenden GitLab-Projekten nötig sind.

Aktuelles: neuer GitLab-Dienst

Wir freuen uns, Ihnen mitteilen zu können, dass wir allen Angehörigen der TUB eine neue GitLab-Umgebung in der aktuellen Version zur Verfügung präsentieren können.
Diese ist erreichbar unter git.tu-berlin.de und kann von Ihnen ab sofort genutzt werden.

Die Kernfeatures des neu ausgerollten Dienstes im Vergleich zum bestehenden sind:

  • Package Registry, um Pakete zu veröffentlichen (z.B für Maven, NPM, PyPI, Composer, Go…)
  • Design Management, um Diskussionen über Bilder (Mockups, Designs…) zu führen und eine Historie von Iterationen zu behalten
  • Merge Request-Verbesserungen wie z.B.:

    • Merge Request Reviews - ein Entwickler legt im Zuge des Begutachtens eines Merge Request-Diffs ein Review an und kann eigene Kommentare vornehmen und diese dann gesammelt einreichen und so sichtbar machen 
    • Merge Request Approval - zur Qualitätssicherung kann ein Freigabe-Prozess von Merge Requests verwendet werden 
    • Merge Requests Draft - hiermit können unfertige Merge Requests als Draft markiert und damit das versehentliche Akzeptieren verhindert werden 
    • Squash & Merge-Support - Commits können zu einem einzigen zusammengefasst und die Historie so kürzer gehalten werden
    • Suggested Changes - Reviewer können für einen Merge Request-Diff Änderungen an mehreren Zeilen mit einem einzigen Vorschlag vornehmen

  • CI/CD Improvements, wie z.B.:

    • Code Quality Reports - für den CI/CD-Prozess kann die Überprüfung der Code-Qualität konfiguriert werden
    • Static Application Security Testing (SAST) - für den CI/CD-Prozess kann SAST konfiguriert werden
    • Parent/Child Pipelines und Dynamic Child Pipelines, mit denen auch komplexere Prozessstrukturen abgebildet werden können
    • Feinere Kontrolle über Jobs mithilfe von "rules"
    • Directed Acyclic Graph ("Needs"), um die Abhängigkeiten zwischen Jobs zu verdeutlichen und die Dauer von Pipelines zu reduzieren
    • HashiCorp Vault-Support für Authentisierung, Auslesen von Secrets und Passwortverwaltung

  • Neuer Reiter "Operation", um alle wichtigen Daten über Deployments zentral finden zu können (ggf. mit Einbindung externen Dienste):

    • Metrics (Prometheus / Grafana)
    • Logs (Elastic Stack)
    • Tracing (Jaeger)
    • Errors (Sentry)
    • Alerts & Incidents
    • Environments und Feature Flags

  • Web IDE - komplexe Änderungen, die auf mehrere Dateien treffen, können jetzt direkt im Browser editiert werden. Sehr praktisch, wenn man unterwegs ist, und kein echtes IDE hat
  • last but ot least: das häufig vermisste SubGroups-Feature

Eine Aufstellung aller Änderungen finden Sie hier.

Aktuelles: Umzug von Projekten nach git.tu-berlin.de

Benötigen Sie Ihre GitLab-Projekte der bisherigen Installation unter gitlab.tu-berlin.de bzw. gitlab.tubit.tu-berlin.de noch, sollten Sie diese unbedingt sichern bzw. in die neue Umgebung umziehen. Für den Umzug eines Projektes haben wir für Sie eine Anleitung unter gitlab.tubit.tu-berlin.de/zecm/migrations-projekt/ zur Verfügung gestellt.

Wie wir inzwischen feststellen mussten, führen die Versionsunterschiede der beiden GitLab-Installationen zu sehr begrenzten Möglichkeiten der Migration. Im Grunde können nur der Sourcecode und Wikis übernommen werden. Aus diesem Grund haben wir uns entschlossen, ein erweitertes webbasiertes Migrationstool auf Basis der GitLab-API zur Verfügung zu stellen, das die Möglichkeit des Imports aller Metadaten (Wikis, Issues, Merge Request, Berechtigungen, Labels usw.) geben wird. Wir werden über dieses Tool nach Fertigstellung informieren.

Aktuelles: Abschaltung des alten GitLab-Dienstes

Die bisherige GitLab-Installation unter gitlab.tu-berlin.de bzw. gitlab.tubit.tu-berlin.de sollte von Ihnen nur noch für die Sicherung bzw. den Umzug Ihrer Projekte genutzt werden.

Beachten Sie bitte, dass diese Umgebung im Laufe des Jahres auf readonly gesetzt und dann voraussichtlich Ende 2021 abgeschaltet wird. Die genauen Termine werden noch bekanntgegeben.

Zweck des GitLab-Dienstes

Mithilfe des GitLab-Dienstes ist eine Versionsverwaltung von Quellcode möglich. Desweiteren besteht die Möglichkeit, den GitLab-Dienst für Continuous Integration (CI), Continuous Delivery (CD) und Continuous Deployment (CD) zu nutzen.

Der GitLab-Dienst wird für Softwareentwicklungsprojekte des Studiums, der Lehre und Forschung für Studierende und Mitarbeiter*innen zur Verfügung gestellt.

WICHTIG: Eine kommerzielle Nutzung ist nicht gestattet.

Zielgruppe

Alle TUB-Angehörigen können den Dienst mit ihrem provisionierten Benutzer verwenden. Eine Freischaltung oder Aktivierung des Dienstes ist nicht notwendig.

Hinweis: Damit Sie eine/n Benutzer*in zu einem Projekt oder einer Gruppe hinzufügen können, muss sich diese/r mindestens einmal bei GitLab angemeldet haben.

Kosten

GitLab wird den Angehörigen der TU Berlin für die Forschung, Lehre und das Studium kostenfrei zur Verfügung gestellt. Hierbei kommt die freie GitLab-Version zum Einsatz.

Zugang

Der Zugriff auf das Webportal erfolgt über git.tu-berlin.de. Zur Anmeldung verwenden Sie bitte Ihren Benutzernamen Ihres TUB-Kontos, den Sie bitte immer klein schreiben. Die Git-Repositories der angelegten Projekte können mit den üblichen Git-Clients via HTTPS und SSH verwendet werden. 

WICHTIG: unser bisheriger GitLab-Dienst ist erreichbar über gitlab.tubit.tu-berlin.de  bzw. gitlab.tu-berlin.de. Dieses System wird zum 1.6.2021 abgeschaltet, weshalb Sie Ihre noch benötigten Projekte in das neue System unter git.tu-berlin.de migrieren müssen.

Nutzungsbedingungen

  • In GitLab gibt es sogenannte "Maintainer" - das sind die Besitzer*innen und Verwalter*innen von Projekten. Maintainer kann jede*r Nutzer*in des GitLab-Dienstes werden. Diese übernehmen die Verantwortung für alle Inhalte ihrer Projekte. Dazu gehören alle mit GitLab verwalteten Daten.
  • Zu jedem Projekt sollte eine README Datei angelegt werden, die das Projekt beschreibt und den bzw. die Projektverantwortliche(n) benennt.
  • Auf dem GitLab-Server dürfen nur Dateien geladen werden, deren Versionierung sinnvoll ist.
  • Nutzer*innen des GitLab-Systems sind verpflichtet, das Medien- und Urheberrecht einzuhalten.
  • Der GitLab-Dienst darf von Nutzer*innen oder Benutzergruppen nicht missbräuchlich verwendet werden. Die ZECM behält sich als Betreiberin des Dienstes vor, bei Missbrauch entsprechende Maßnahmen zu ergreifen.

Rahmenbedingungen

  • Initial werden Repositories als private Repositories angelegt. Dies kann bei Bedarf geändert werden.
  • Jede/r Nutzer*in des GitLab-Dienstes kann 100 Projekte anlegen. Die "Sichtbarkeit" der einzelnen Projekte kann der "Owner" selbst festlegen.
  • Die Nutzer*innen können Gruppen und deren Mitglieder selbst verwalten.
  • Es ist nicht möglich, den Benutzernamen in GitLab zu ändern. Die Benutzernamen werden immer klein geschrieben.
  • Das Nutzen von TUB-Service-Accounts (svc-*) ist nicht gestattet.
  • Das Einrichten und Arbeiten ist weltweit per Webinterface möglich, ansonsten können alle git-Operationen auch per ssh ausgeführt werden. Dazu muss ein ssh-key im GitLab hinterlegt werden.
  • Es gibt ein tägliches Backup der Gitlab Daten um 1:00 Uhr. Dabei kann es zu Performanceeinschränkungen kommen.

Datenschutz

Für die Benutzung des GitLab-Dienstes werden ein TUB-Konto und eine E-Mail-Adresse benötigt.

Folgende (personenbezogene) Daten werden vom Dienst benötigt und gepeichert:

Zwingend:

  • TUB-Konto
  • Email-Adresse
  • IP-Adresse, von der sich eingeloggt wird

Optional:

Weitere persönliche Daten, welche über die Profileinstellungen des Systems gesetzt werden können, sind für die Nutzung nicht zwingend notwendig und obliegen Ihrer Aufsicht. Eine Verarbeitung dieser zusätzlichen Daten außerhalb des GitLab-Systems mit seiner Funktionalität findet nicht statt.

Sichtbar (allgemein zugreifbar):

Bei jedem Commit sind der Name und die E-Mail-Adresse, wie sie in der Konfiguration von Git hinterlegt wurden, sichtbar.

  1. Zugriff per Webbrowser
    Im Webinterface ist der GitLab-Benutzername (Username), wie er bei den Benutzereinstellungen (User Settings) im Abschnitt "Konto" (Account) festgelegt wird, sichtbar. Der Benutzername ist bei persönlichen Projekten auch im Pfad zu sehen.
  2. Zugriff per Git-Client
    GitLab zeichnet alle Zugriffe auf, die durch einen Git-Client geschehen. So werden alle Aktivitäten an einem Repository in dessen Versionsgeschichte gespeichert. Hier wird insbesondere der Name und die E-Mail-Adresse der/des Nutzer*in gespeichert, die im Git-Client konfiguriert wurden. Eine Teillöschung oder Anonymisierung dieser Daten kann aufgrund der Fälschungssicherheit eines Git-Repositories nicht stattfinden. Bei der Beteiligung an öffentlichen GitLab-Projekten werden diese Informationen allgemein zugänglich auf der Projektseite hinterlegt und dargestellt. 

    Diese Daten können mit Hilfe von Git-Mechaniken von den jeweils berechtigten Nutzer*innen gelöscht werden. Ebenso wird die Versionsgeschichte eines Repositories mit der Löschung des Repositories ebenfalls gelöscht.

Kontakt zum Datenschutz-Team der TU Berlin: info@datenschutz.tu-berlin.de

Support

Zu  Git und GitLab existieren bereits zahlreiche Dokumentationen, weshalb wir auf eigene Unterlagen verzichtet haben.  https://git-scm.com/ oder https://doc.gitlab.com/ce/

Zusatzinformationen / Extras

Direktzugang

Schnellnavigation zur Seite über Nummerneingabe

Diese Seite verwendet Matomo für anonymisierte Webanalysen. Mehr Informationen und Opt-Out-Möglichkeiten unter Datenschutz.

Kontakt/Contact

Webteam