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.
- Author
- Matthias Burtscher
- Date
- June 29, 2018
- Reading time
- 3 Minutes
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 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.