+
Möchtest du sehen, wie GitLab Ultimate dein Team unterstützen kann?
GitLab hat die Drupal-Entwicklung in den Mainstream der Open-Source-Welt gebracht und die Beteiligung einer breiteren Community ermöglicht.
Die Einführung von GitLab als DevOps-Plattform ermöglichte mehr Zusammenarbeit und Mitwirkung.
Für einen Beitrag braucht man nichts weiter als einen Browser – nicht nur im Modul-Ökosystem, sondern sogar für den Drupal-Kern selbst. Das war in unserem Projekt vor dem Wechsel zu GitLab nicht möglich, und das ist wirklich bedeutend.
Die Drupal Association ist die Hüterin des freien Drupal-Content-Management-Systems – eines der bedeutendsten Beispiele der Open-Source-Softwaregeschichte. Drupal dient als Backend-Framework für schätzungsweise 13 % der 10.000 meistbesuchten Websites weltweit, mit Nutzern aus Regierung, Hochschulwesen, dem Unternehmensbereich und vielen weiteren Branchen. Die Plattform hat sich stetig weiterentwickelt – getragen von der Innovation, dem Know-how und dem Engagement einer globalen Open-Source-Community. Die Drupal Association ermöglicht es tausenden von Websites, innovative und stabile Module schnell einzuführen.
Als eines der ältesten Open-Source-Projekte überhaupt existiert Drupal bereits seit 20 Jahren und damit noch vor Git, modernen Kollaborationsplattformen wie GitLab oder GitHub und CI-Diensten wie Travis. Wie viele Projekte dieser Ära hatte Drupal ein eigenes Git-Backend, eigene Kollaborationswerkzeuge und ein eigenes CI-System entwickelt. Bis weit ins Jahr 2020 hinein setzte das Drupal-Ökosystem noch vorwiegend auf Patches im eigenen Issue-Tracker von Drupal.org sowie das hauseigene DrupalCI für Integrationstests. Gleichzeitig wuchs Drupal als Produkt in Komplexität und Funktionsumfang – was die Schwächen der alternden Kollaborationswerkzeuge immer deutlicher sichtbar machte.
Das Entwicklungsteam von Drupal.org erkannte, dass Drupal als Open-Source-Plattform nur dann weiterhin gedeihen kann, wenn der Einstieg für neue Mitwirkende konsequent vereinfacht wird. Neue Contributors mussten schnell und reibungslos mitarbeiten können. Drupal benötigte ein browserbasiertes End-to-End-Management, das Nutzenden weltweit – unabhängig von der verfügbaren Hardware – die Möglichkeit gibt, Code-Beiträge zu leisten. Diese Ziele zu erreichen war entscheidend, um den Fokus zurück auf das Wesentliche zu lenken: eine aktive, engagierte Community, die sich auf Innovation konzentrieren kann.
Das Team suchte nach einer offenen Kollaborations- und DevOps-Plattform mit End-to-End-Unterstützung. Zur Wahl stand, die eigenen Werkzeuge weiterzupflegen oder auf eine moderne, breit unterstützte Lösung umzusteigen. Nach einem mehrjährigen Evaluierungsprozess mit GitLab, GitHub und Bitbucket fiel die Entscheidung auf GitLab – als Plattform, die „den modernen, funktionsreichen Contribution-Workflow bietet, den Entwickler(innen) erwarten, und uns gleichzeitig ermöglicht, eine selbstverwaltete Instanz zu betreiben, was für unsere sehr offene Kollaborationskultur entscheidend war", so Timothy Lehnen, CTO der Drupal Association.
„Nach einer unabhängigen Bewertung mehrerer Plattformen, darunter GitHub, Atlassian BitBucket und GitLab, ging GitLab als klarer Sieger hervor – aufgrund seines Engagements für Zusammenarbeit mit dem Drupal-Projekt und der Open-Source-Community," so Lehnen. GitLab senkte zudem die Einstiegshürde für Contributors mit bestehenden Git-Kenntnissen und erleichterte die Gewinnung neuer Mitwirkender. Die Modernisierung ermöglichte es auch, von Add-ons des GitLab-Ökosystems zu profitieren – darunter Drupal-Serviceanbieter, die GitLab bereits intern einsetzten.
„Mit GitLab haben Drupal-Contributors die Werkzeuge, die sie brauchen, ohne die Hürde, einen vollständigen Entwicklungs-Stack erlernen zu müssen, der für ihre Arbeit gar nicht relevant ist", sagt Lehnen. „Es macht die Zusammenarbeit für alle Mitwirkenden einfach leichter – unabhängig von technischen Vorkenntnissen." Community-Mitglieder können jetzt über eine Browseroberfläche den gesamten Beitragsprozess durchführen. GitLab CI unterstützt eine Reihe neuer Workflows. Sowohl technische als auch nicht-technische Mitwirkende – darunter Produktmanager, Accessibility-Experten, Content-Redakteure und Projektmanager – sind nun in den Gesamtworkflow eingebunden.
Der GitLab-Einsatz fällt zusammen mit der ersten Nutzung von Kubernetes-Clustern durch das Projekt: GitLab-CI-Runner werden ausgewählten Projekten im Drupal-Ökosystem bereits in der Beta-Phase bereitgestellt. Das hilft Drupal, von einem zentralisierten CI-Modell zu einem dezentralen überzugehen, bei dem Projektverantwortliche ihre CI-Workflows selbst gestalten können.
Die Einführung hat die Möglichkeiten der Drupal-Community erheblich erweitert. Seit dem Wechsel verzeichnet das Ökosystem monatlich über 400 Merge Requests, mit einer Abschlussrate von rund 50 % innerhalb des Monats. Die Beiträge zum Drupal-Kern selbst sind seitdem um rund 10 % gestiegen. Contributor-Ressourcen werden effizienter eingesetzt, da die WebIDE erheblich Zeit bei der Einrichtung spart. „Du kannst mit nur einem Browser einen End-to-End-Beitrag zu Drupal leisten. Du brauchst weder die Kommandozeile noch eine lokale Entwicklungsumgebung", ergänzt Lehnen.
„Jetzt müssen Contributors nicht mehr lernen, wie man eine lokale Drupal-Entwicklungsumgebung aufbaut, um neue Funktionen auf Barrierefreiheit zu prüfen. Die Möglichkeit, ohne komplexe lokale Umgebungen beizutragen, hat es für alle leichter gemacht – von Accessibility-Experten über Dokumentationsredakteure bis hin zu Produktmanagern", so Lehnen.
Das Drupal-Core-Team hat nahezu 100 % Testabdeckung für den Drupal-Kern erreicht und kann diese Abdeckung mit GitLab CI deutlich einfacher auf neue Codebereiche ausweiten. Beiträge wurden auf JavaScript-Pakete ausgeweitet – eine Erweiterung des bisher vorwiegend auf PHP ausgerichteten Projekts.
Künftige GitLab-Implementierungen sollen das Drupal-Credit-System ausbauen, das die Beiträge und Innovationen von Contributors sichtbar macht. „Drupal ist führend in der Open-Source-Welt, wenn es darum geht, das Contribution-Ökosystem zu messen und zu verstehen. Wir freuen uns, dass das GitLab-Team die Idee unterstützt, dieses Feature in GitLab einzubringen – damit kann die gesamte Open-Source-Community von diesen Community-Health-Metriken profitieren", so Lehnen.
Alle Informationen und Personen, die an der Fallstudie beteiligt waren, waren zum Zeitpunkt der Veröffentlichung aktuell.