Wie GitLab Entwicklern hilft, von der Idee zur Produktion zu gelangen: Hinter der Plattform, die Problemverfolgung, Codeüberprüfung und Bereitstellung vereint

TL; DR: GitLab verfügt über eine Kundenliste mit Red Hat, Alibaba, Sony, Uber und StackExchange und hilft mehr als 100.000 Unternehmen dabei, Code schnell zu erstellen, zu testen und bereitzustellen. Ursprünglich als Open-Source-Nebenprojekt entwickelt, erweiterten die Mitbegründer GitLab um Repository-Verwaltung, Problemverfolgung, Codeüberprüfung und Tools für die kontinuierliche Integration und Bereitstellung. Große und kleine Teams können mit GitLab zusammenarbeiten, einer All-in-One-Plattform, die den gesamten Entwicklungszyklus umfasst. GitLab bietet mehr als 1.400 Mitwirkende an der Open-Source-Community-Edition und erweitert kontinuierlich zwei kommerzielle Produkte um Funktionen.


Als PHP-Entwickler in der Ukraine wollte Dmitriy Zaporozhets von Apache Subversion auf das immer beliebter werdende Git-Versionskontrollsystem umsteigen. Bestehende Produkte waren jedoch zu teuer und konnten nicht vor Ort betrieben werden.

Wie jeder richtige Ingenieur begann er zu Hause, seine eigene Lösung als Nebenprojekt zu entwickeln. Die klassische Tech-Gründungsgeschichte hat jedoch eine Wendung: Dmitriy hatte kein fließendes Wasser.

“Er nahm zwei Eimer, ging zum Brunnen, holte Wasser und verbrachte seine Nächte mit wichtigeren Dingen”, sagte Job van der Voort, ein langjähriger Mitarbeiter.

Entwickler auf der ganzen Welt kennen Dmitriys Arbeit bei GitLab, einer umfassenden Plattform, mit der Teams gemeinsam Code schreiben, testen und bereitstellen können. Die webbasierte Anwendung integriert alle Phasen des Entwicklungszyklus, einschließlich Tools zur Codeüberprüfung, Problemverfolgung, Aktivitätsfeeds, Wikis und kontinuierlichen Integration.

GitLab wird von SanDisk, Red Hat, der NASA, Sony, VMware und Citrix verwendet und gleicht die Open-Source-Anforderungen kleiner Unternehmen mit den zusätzlichen Kontroll- und Benutzerverwaltungsanforderungen großer Unternehmen aus.

“Ihre Zeit zum Einkaufen von Software ist mit GitLab kürzer”, sagte Job. “Wenn Ihre Zeit kürzer ist, können Sie Fehler schneller erkennen, ständig in der Produktion bereitstellen, Feedback erhalten, und natürlich kostet alles weniger, weil Zeit Geld ist.” Wir halten es für grundlegend – wenn Sie die Entwicklungszykluszeit verbessern, wird sich auch alles andere verbessern. “

Aufbau einer Open-Source-Plattform zur Nutzung von Git

Dmitriy und Valery Sizov haben GitLab von Anfang an zu einem Open-Source-Programm gemacht und jeden Monat am 22. eine neue Version veröffentlicht. “Wir haben daran festgehalten und tun dies auch heute noch”, sagte Job, jetzt Vice President of Product bei GitLab.

GitLab, das Dmitriy und Valery in Ruby geschrieben haben, konzentrierte sich ursprünglich auf die Verwaltung von Git-Repositorys. GitLab wurde unter der MIT-Lizenz geteilt und vertrieben und hat im ersten Jahr des Systems mehr als 300 Beiträge gesammelt.

Bilder von frühen GitLab-Führern

Unter den frühen Führungskräften von GitLab (von links nach rechts): Dmitriy Zaporozhets, Valery Sizov, Sid Sijbrandij und Job van der Voort

“Alles, was wir in GitLab tun, ist offen”, sagte Job. “Wir sind sehr motiviert zu sehen, wie sich die Branche bewegt, wie wir sie verbessern können und wie wir Vorteile für alle finden können.”

Einer der frühen Open-Source-Benutzer von GitLab, Sid Sijbrandij, wollte das System verwenden, um ein Software-as-a-Service-Produkt zu erstellen, das mit GitHub konkurrieren kann. Hunderte von Menschen haben sich für die Beta-Version 2012 angemeldet, und größere Unternehmen fragten nach neuen Funktionen.

Sid, der Dmitriy über seine SaaS-Bestrebungen für GitLab informiert hatte, kontaktierte ihn erneut, nachdem er einen Tweet gesehen hatte, in dem Dmitriys Wunsch zum Ausdruck gebracht wurde, Vollzeit an GitLab zu arbeiten.

“Sid näherte sich ihm und sagte zu ihm:” Arbeite hier und ich werde dich bezahlen. Du wirst Mitbegründer sein “, sagte Job. “Kurz nachdem sie sich zusammengetan hatten, haben wir GitLab Enterprise eingeführt, damit unsere Kunden eine spezielle Version mit den zusätzlichen Funktionen erhalten können.”

Kontinuierliche Integration und Straffung des gesamten Entwicklungszyklus

Job schreibt eine der ersten Funktionen für das Wachstum und die Popularität von GitLab vor. Als stets einfallsreicher Ingenieur hatte Dmitriy eine CI-Lösung (Continuous Integration) entwickelt, um das Unternehmen bei der Entwicklung und den Release-Zyklen zu unterstützen.

“Wir haben es hier und da verwendet und nicht viel Zeit investiert. Eines Tages haben wir beschlossen, die Tools für die kontinuierliche Integration nicht Teil des GitLab-Produkts zu machen.” Sagte Hiob. „Das hat sich als riesig herausgestellt. Ich denke immer, dass das ursprüngliche GitLab im Grunde genommen Dmitriy ist, der stur ist und seine eigenen Sachen bauen will. “

Screenshot der kontinuierlichen Integrationspipeline von GitLab

Integrierte Tools für die kontinuierliche Integration helfen Teams dabei, Code schnell zu erstellen, zu testen und bereitzustellen

Als Git immer beliebter wurde, verwendeten Entwicklungsteams separate Programme zum Hosten von Repositorys, zum Verfolgen von Problemen und zum Bereitstellen von Codeänderungen.

“Sie haben viel Zeit damit verbracht, all diese Tools zu integrieren, und es war nie perfekt oder sehr gut”, sagte Job. „Anderswo in der Branche sahen wir einfachere Setups und viel schnellere Ingenieure. Wir haben bei den verwendeten Tools nicht den gleichen Trend gesehen. “

Die Einführung von CI-Praktiken und -Tools mit den gemeinsam genutzten Repositorys in GitLab zeigte schnell mehrere Vorteile, die sich hauptsächlich auf die Geschwindigkeit beziehen, mit der sich Teams während des gesamten Entwicklungslebenszyklus bewegen können. Durch schnellere Integrationen können Entwickler Fehler schnell identifizieren, Feedback einholen, Änderungen vornehmen und für die Produktion bereitstellen.

“Was wir wirklich tun, ist die Grenze der Integration über die gesamte Entwicklungspipeline und den gesamten Softwareentwicklungszyklus hinweg zu verschieben”, sagte Job. „Wie wir immer sagen, möchten Sie in der Lage sein, von einer Idee bis zur Produktion zu gelangen, Feedback zu erhalten, zurück zu gehen und alles noch einmal zu tun. Dies sollte alles am selben Ort geschehen und nicht mehr auf verschiedene Anwendungen verteilt sein. “

Wie GitLab-Produkte Organisationen bei der Zusammenarbeit bei Code unterstützen

Da von Entwicklern erwartet wird, dass sie über den gesamten Lebenszyklus einer Anwendung hinweg eine immer größere Rolle spielen, wird die Notwendigkeit einer konsolidierten Plattform laut Job immer wichtiger.

“In GitLab haben wir ein einziges Tool für alles, was Sie tun müssen”, sagte er. „Du kannst alles am selben Ort machen. Diese Idee gewinnt branchenweit an Bedeutung, weil sie so viel Sinn macht. Mit zunehmender Integration unserer Tools erwarten wir mehr von unseren Entwicklern. Warum sollten wir es schwieriger machen, indem wir sie dazu bringen, separate Programme zu verwenden? “

Community Edition: Am besten für kleine Teams und persönliche Projekte

Die Open-Source-Version von GitLab bleibt unter der MIT-Lizenz und kann von unbegrenzten Benutzern kostenlos heruntergeladen und angepasst werden. Zusätzlich zu den integrierten Tools für die kontinuierliche Integration bietet GitLab ein Analyse-Dashboard, mit dem kleine Teams messen können, wie viel Zeit jede Phase des Entwicklungszyklus benötigt.

Screenshot des GitLab Issue Boards

Entwicklungsteams können Fehler und Aufgaben mithilfe von Issue Boards detailliert organisieren und verfolgen.

Benutzer können Websites für ihre GitLab-Projekte, -Gruppen oder -Konten erstellen, die kostenlos auf GitLab.com gehostet werden. Unternehmenskunden können GitLab-Seiten in ihrer selbst gehosteten GitLab-Installation hosten.

Um eine Anwendung oder ein Projekt durch den Entwicklungsprozess zu führen, bietet GitLab Issue Boards und Überprüfungsanwendungen an, die dynamische Umgebungen automatisch für Zusammenführungsanforderungen starten.

Enterprise Editions: Zusätzliche Sicherheits- und Workflow-Tools für größere Gruppen

Kommerzielle Versionen von GitLab sind in zwei Versionen unterteilt: Enterprise Edition Starter und Enterprise Edition Premium. Beide Plattformen sind laut Job ideal für größere Teams, die zusätzliche Sicherheits- und Workflow-Kontrollen benötigen.

In der Starter-Edition werden Tools für die Benutzerverwaltung und die Codegenehmigung vorgestellt. Die Premium-Version umfasst außerdem erstklassigen Support, Schulungen, Überwachungsprotokolle, Disaster Recovery-Dienste, Hochverfügbarkeitsunterstützung und Lastausgleich.

“Die Liste der Funktionen ist ziemlich lang, aber ich denke, es kommt im Wesentlichen darauf an, dass Sie viel mehr Kontrolle darüber haben, ob der richtige Code in das Projekt eingeht und nur die richtigen Leute ihn sehen”, sagte Job. “Wenn Ihr Team wächst, wachsen die Enterprise-Editionen mit Ihnen.”

Die Zukunft: Automatische Bereitstellung mit Containern und Orchestrierung

Als Ingenieur ist Job immer noch frustriert darüber, wie kompliziert der Bereitstellungsprozess sein kann, insbesondere bei Containern und Orchestrierungssystemen. “Es gibt keine gute Lösung und es ist sehr schwer zu warten und zu skalieren”, sagte er. „In GitLab drückst du buchstäblich eine Taste. Damit können Sie sofort auf Ihren Containern und Ihren Kubernetes bereitstellen. “

Das Team führte Auto Deploy Ende 2016 ein, um Container-, Orchestrierungs-, Bereitstellungs- und Überprüfungsprozesse zu automatisieren. Mit den neuen Tools können Entwickler eine Ruby-Anwendung mit Überprüfungs-Apps, mehreren Umgebungen und ChatOps in etwa 12 Minuten in einem Kubernetes-Cluster einrichten und bereitstellen – ein Vorgang, der ohne GitLab Tage oder Wochen dauern kann.

“Wir hoffen und tun unser Bestes, um Legacy-Systeme zu unterstützen, aber wir schauen uns auch bewusst die Lösungen an, die auf dem Markt angeboten werden”, sagte Job. “Wir möchten wissen, mit welchen Problemen die Menschen konfrontiert sind, wie sie mit ihnen umgehen und wie wir sicherstellen können, dass GitLab ihnen dabei hilft, es besser zu machen.”

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me