Du hast Fragen? Wir haben Antworten! - Bald findet unser nächster Tag der offenen Tür statt!

Logo site

GitLab: Alles über das Git-Repository für DevOps

-
4
 Minuten Lesezeit
-
gitlab

GitLab ist ein Code-Hosting- und Versionsverwaltungsservice, der mit einer kompletten DevOps-Plattform gepaart ist. Hier erfährst du alles, was du darüber wissen musst: Funktionsweise, Unterschiede zu GitHub, Anwendungsfälle für Data Science und Machine Learning, Schulungen…

In den Bereichen Data Science und Machine Learning sowie generell in der Softwareentwicklung sind Dienste zum Hosten von Code und zur Versionsverwaltung nicht mehr wegzudenken. Zu den am häufigsten genutzten Plattformen gehören GitHub und GitLab.

Beide Plattformen sind webbasierte Git-„Repositories“. Das Git-Versionsverwaltungssystem ermöglicht es, Softwareentwicklungsprojekte und alle damit verbundenen Dateien zu verwalten, während sie geändert werden.

So können die von jedem Teammitglied vorgenommenen Änderungen verwaltet und überwacht werden. Die Projektmitglieder können so ihre Arbeit koordinieren und den Fortschritt im Laufe der Zeit verfolgen.

Die Informationen werden in Form von Daten in einem „Repositorium“ (repository) aufbewahrt. Es enthält die Objekte und ihre Referenzen und fungiert als zentraler Ort, an dem Entwickler Entwicklungsprojekte speichern, teilen, testen und zusammenarbeiten können.

Was ist GitLab ?

Wie GitHub ist GitLab ein Gi-Repository-Manager, der es Teams ermöglicht, an Computercode zu arbeiten. Es ist in den Sprachen Ruby und Go geschrieben und wurde 2011 von Dmitriy Zaporozhets und Valery Sizov gegründet.

Es handelt sich um eine vollständig Open-Source-Plattform. Sie ist auch kostenlos für Privatpersonen.

Mehrere Mitglieder eines Teams können GitLab nutzen, um an einem Projekt zusammenzuarbeiten, Änderungen vorzuschlagen und bei unvorhergesehenen Problemen eventuell zurückzugehen.

Seit der Einführung der Version 10.0 ist GitLab mehr als nur ein Git-Warehouse. Der Dienst bietet jetzt eine „Complete DevOps“ Vision, die Entwicklung und Operationen in einer einzigen Benutzererfahrung vereint.

Die neue Version bietet eine bessere Integration zwischen Entwicklungswerkzeugen und DevOps. Die Nutzer können alle Aufgaben eines Projekts ausführen, von der Planung über die Verwaltung des Quellcodes bis hin zu Monitoring und Sicherheit.

Was sind seine verschiedenen Bestandteile?

GitLab besteht aus mehreren Komponenten, die eine komplette Lösung für DevOps und Projektmanagement bilden. Zunächst einmal können „Projekte“ erstellt werden, um Code zu hosten, daran zusammenzuarbeiten oder Probleme zu identifizieren.

Die nativen Funktionen für kontinuierliche Integration und kontinuierliche Lieferung (Gitlab CI/CD) ermöglichen es, eine Anwendung kontinuierlich zu entwickeln, zu testen und zu verteilen. Projekte können öffentlich zugänglich gemacht werden oder nur einem internen oder privaten Publikum vorbehalten sein.

Es ist möglich, mehrere miteinander verbundene Projekte zu einer „Gruppe“ zusammenzufassen. Mithilfe von „SubGroups“ (Untergruppen) kann eine Hierarchie mit bis zu 20 Gruppenebenen erstellt werden.

Die Funktionen der kontinuierlichen Integration (CI), die GitLab nativ anbietet, ermöglichen es, kleine Codeteile zu einer Anwendung hinzuzufügen, die in einem Git gehostet wird. Für jeden „Push “ kann eine Pipeline von Skripten ausgeführt werden, um den Code zu testen, bevor die Änderungen freigegeben und in das Projekt eingebracht werden.

Continuous Delivery and Deployment (CD) ermöglicht es, die Anwendung bei jedem Push in Produktion zu bringen. GitLabs CI/CD wird durch eine Datei namens .gitlab-ci.yml konfiguriert, die im Wurzelverzeichnis des Git-Warehouse abgelegt wird, und die Skripte in dieser Datei werden vom GitLab Runner ausgeführt.

GitLab vs GitHub : Wo liegt der Unterschied ?

Es gibt mehrere größere Unterschiede zwischen GitLab und GitHub. Diese Unterschiede betreffen zum Beispiel die Authentifizierungssysteme und Zugriffsberechtigungen, die bei GitLab granularer sind und sich daher besser für große Teams eignen, die an großen Projekten arbeiten.

Darüber hinaus zeichnet sich GitLab durch sein Integrations- und Continuous Delivery-System aus. Dadurch können Entwicklungsteams wertvolle Zeit sparen. Für Benutzer, die bereits eine externe Continuous Integration nutzen, ist die Plattform kompatibel mit Jenkins, Codeship und vielen anderen.

Das System Auto DevOps ermöglicht es außerdem, automatische Continuous Integration oder Continuous Delivery ohne menschliches Zutun zu starten. GitLab ist damit GitHub im Bereich DevOps einen Schritt voraus.

Ende 2019 hat GitHub „Actions“ eingeführt. Dieses neue System ermöglicht es, Aufgaben zu schreiben, um den Entwicklungs-Workflow zu automatisieren und zu anpassen. Im Gegensatz dazu bietet GitHub keine Plattform für die Bereitstellung. Eine Drittanbieteranwendung wie Heroku ist erforderlich.

Der letzte Unterschied ist der Preis der „Enterprise“-Versionen der beiden Dienste. Die Enterprise-Variante von GitHub wird ab 250 US-Dollar pro Nutzer und Jahr angeboten, während GitLab ab 39 US-Dollar pro Nutzer und Jahr beginnt.

Zusammengefasst ist GitHub mit Abstand das populärste Git-Repository mit mehreren zehn Millionen Nutzern gegenüber nur 100.00 für GitLab. Dennoch begleitet GitLab Teams durch den gesamten DevOps-Prozess und ist für Unternehmen erschwinglicher.

GitLab für Data Science und Machine Learning

Teams für Data Science und Machine Learning können einem Unternehmen einen wertvollen Vorteil verschaffen, indem sie aus Datensätzen verwertbare Informationen gewinnen.

Um dies zu erreichen, haben sie jedoch erhebliche Anforderungen an die Zusammenarbeit, die Projektplanung und das Projektmanagement sowie die Versionsverwaltung von Dateien, Modellen oder Datensätzen.

Fachleute für Data Science und Machine Learning müssen außerdem in der Lage sein, entscheidende Schritte im Arbeitsablauf zu automatisieren, um effizienter zu werden und manuelle Fehler zu vermeiden. Sie müssen auch die Test- und Validierungsprozesse ihrer Arbeit flüssiger gestalten, um schneller und wiederholbarer zu werden.

Und schließlich muss die Verwaltung der Infrastruktur so einfach wie möglich sein (vor allem, wenn diese Infrastruktur auf mehreren Cloud-Anbietern basiert). GitLab erfüllt diese Anforderungen und ist deshalb ein unverzichtbares Werkzeug für Data Science und Machine Learning.

Teams können problemlos abteilungsübergreifend zusammenarbeiten, ihre Arbeit verwalten und planen und den Überblick über Änderungen behalten, die während der Entwicklung, des Trainings und des Einsatzes von Modellen vorgenommen wurden.

Die Automatisierung wird durch das CI/CD von GitLab ermöglicht, mit dem Modelle einfach validiert werden können, indem bei jeder Änderung verschiedene Elemente getestet werden. Auch der Aufbau und die Bereitstellung eines Modells sind automatisiert. Schließlich kann ein Modell in jeder beliebigen Cloud bereitgestellt und verwaltet werden.

Vor kurzem hat Iterative.ai ein neues Open-Source-Projekt namens CML (continuous machine learning) gestartet. Dieses Projekt ermöglicht es, das GitLab CI an die Anwendungsfälle von Data Science und Machine Learning anzupassen. Als Beispiele seien hier das automatische Training von Modellen, das automatische Testen oder das Reporting mit Datenvisualisierung genannt.

GitLab: Wie lernt man seine Anwendung ?

Um zu lernen, wie man GitLab benutzt, kannst Du Dich für einen der Kurse von DataScientest anmelden.

Unsere hybriden Kurse basieren auf einem innovativen „Blended Learning“-Ansatz (Hybrid aus Präsenzunterricht und Fernunterricht) und bieten Dir die Möglichkeit, ein von der Universität Sorbonne zertifiziertes Diplom zu erwerben.

GitLab steht auf dem Programm unserer Data Engineer-Ausbildung. In diesem Kurs lernst du den Beruf des Data Engineers und die verschiedenen Werkzeuge und Techniken, die in diesem Beruf verwendet werden.

Wenn Du bereits Data Scientist bist und dir Fähigkeiten zur Umsetzung von Machine-Learning-Modellen aneignen möchtest, kannst Du Dich für unseren Machine-Learning-Engineer-Kurs entscheiden. Gitlab ist eines der Werkzeuge, die im Modul „Testen und Einsetzen“ dieses Kurses auf dem Programm stehen.

Du weißt jetzt ein bisschen mehr alles über GitLab. Lerne weitere Tools für Data Engineering und ML Engineering kennen, z. B. die Container-Plattform Docker und die Workflow-Automatisierungslösung Apache Airflow.

DataScientest News

Melde Dich jetzt für unseren Newsletter an, um unsere Guides, Tutorials und die neuesten Entwicklungen im Bereich Data Science direkt per E-Mail zu erhalten.

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!
icon newsletter

DataNews

Starte Deine Karriere im Bereich Data: Erhalte regelmäßig Insiderwissen und wertvolle Karrieretipps in Deinem Posteingang.