GitLab in a Nutshell

29. Jun 2018

Matthias Burtscher

3 Min.

GitLab in a nutshell

Wie wir als Softwareentwickler Code verwalten, hat sich über den Lauf der Jahre immer wieder geändert. Mit Git hat sich ein Quasi-Standard herausgebildet, der nicht nur weit verbreitet ist, sondern auch alle Stücke spielt, die man als Softwareentwickler täglich braucht.

Auch wenn es in Filmen oft so dargestellt wird: Softwareentwickler verwenden nicht nur die Kommandozeile. Auch wir sind manchmal ganz froh, wenn wir uns mittels grafischer Oberflächen einen besseren Überblick verschaffen können. Da Git selbst das nicht kann, braucht es eine andere Lösung. Wir haben uns für GitLab entschieden.

One Tool to rule them all

GitLab ist viel mehr als eine grafische Oberfläche für Git. Neben der Verwaltung von Quellcode managt das webbasierte Open-Source-Tool auch viele weitere Ereignisse, die sich im Lebenszyklus des Codes abspielen.

Anforderungen werden zunächst als „Issues“ erfasst – das kennt ihr vielleicht von Tools wie Jira, Redmine, Mantis & Co. Sobald neue Features und Fixes umgesetzt werden, können die Änderungen im Rahmen von „Merge Requests“ begutachtet, mit Hilfe von „Pipelines“ automatisch getestet und in Form von „Review Apps“ als Testumgebung bereitgestellt werden. Ausgeliefert wird dann aus der integrierten „Container Registry“.

GitLab Features

GitLab bietet alle Features, die für den Softwareentwicklungsprozess erforderlich sind.

Klingt ganz schön kompliziert. Letztendlich zählt, dass GitLab mit ihrer „DevOps Vision“ einen ganzheitlichen Ansatz der Softwareentwicklung verfolgt, den wir auch bei Fusonic tagtäglich leben. Dazu gehört auch:

Kunden & Partner einbinden

GitLab ist nicht nur für uns Entwickler gemacht. Projektmanager, Designer, Entwickler und vor allem auch unsere Kunden und Partner können mit dem Tool gemeinsam am Projekt arbeiten. Somit findet die Projektkommunikation nicht mehr extern über E-Mails, Anrufe oder Trello statt, sondern Fragen, Erkenntnisse, Meinungen und Ideen werden als Dialoge direkt im Rahmen der bereits erwähnten „Issues“ kommuniziert.

Wurden die Anforderungen dann in Code gegossen, sind Testprozesse unerlässlich, produzieren bei herkömmlichen Ansätzen aber viel Aufwand. Auch dazu hat sich das GitLab-Team etwas einfallen lassen und sogenannte „Review Apps“ erfunden. Jeder Stand der Software wird automatisiert in einer temporären Umgebung bereitgestellt und kann ohne manuelles Zutun für Tests genutzt werden. So findet Feedback direkter und schneller seinen Weg in den Prozess.

Show, don’t tell

Auch das GitLab selbst wird nach diesem Prinzip weiterentwickelt. Zwar liegt die offene Kommunikation dem Open-Source-Ansatz gewissermaßen zugrunde, dennoch ist es beachtlich, wie kompromisslos der agile Entwicklungsprozess vom GitLab-Team durchgezogen und gelebt wird. Ein Beispiel, dem wir als Fusonic nur zu gerne folgen – jeden Tag.

Wer GitLab selbst ausprobieren möchte, kann das ganz einfach tun. Die Cloud-Variante unter gitlab.com bietet den Großteil der Features sogar kostenlos.