Klarx wechselt von GitHub Actions zu Semaphore und baut 3x schneller

  • ⛔️ 30 Minuten, um Feedback vom CI zu erhalten
  • ⛔️ Entwickler stecken während Stoßzeiten in langen Warteschlangen fest
  • ⛔️ Builds scheitern zufällig
  • ✅ 10 Minuten, um Feedback zu erhalten ⬇️ 3x
  • ✅ Entwickler müssen nie auf den CI-Start warten, dank automatisch skalierender Ressourcen
  • ✅ Stabile Builds ohne zusätzlichen Aufwand für das Engineering-Team

Probieren Sie Semaphore aus

Die Herausforderung

Klarx nutzte eigene Runner, um GitHub Actions auszuführen. Doch mit dem Wachstum des Teams und seiner Anforderungen stiegen der Implementierungs- und Wartungsaufwand. Die Auslastung der CI/CD-Infrastruktur des Teams variiert im Laufe des Tages, mit Stoßzeiten, in denen alle Entwickler versuchen, ihre Repos zu pushen, und ruhigeren Zeiten an den Wochenenden. Dies erforderte manuelles Skalieren der CI/CD-Infrastruktur.

Da das Unternehmen nicht immer die Zeit hatte, die Ressourcen manuell zu skalieren, führte dies zu:

  • ✔️ Lange Wartezeiten in der Warteschlange während der Stoßzeiten
  • ✔️ Builds scheiterten zufällig. Wiederholungen waren erforderlich

Die Lösung

Klarx suchte nach einer Lösung, die sich den Anforderungen des Teams anpasst, ohne dass Implementierungs- und Wartungsaufwand seitens des Teams erforderlich wäre. Sie erwogen, von GitHub Actions zu wechseln, und zogen auch CircleCI und TeamCity in Betracht. Letztlich entschieden sie sich jedoch für Semaphore aufgrund der Geschwindigkeit und der einfachen Einrichtung.

„Wir suchten nach einer Lösung, die einfach einzurichten ist, minimalen technischen Aufwand erfordert und von Natur aus schnell ist. Semaphore schien diese Eigenschaften zu erfüllen, daher haben wir einen Proof of Concept (POC) auf Semaphore umgesetzt“, sagt Amin Ben Slimen.

Ein Wechsel der Werkzeuge kann immer wie eine einschüchternde Aufgabe erscheinen. Das Engineering-Team bei Klarx fand jedoch, dass der Umstieg auf Semaphore ziemlich problemlos verlief. „Die Plattform ist so konzipiert, dass nur sehr wenige Änderungen an deinem Code erforderlich sind und bietet ein sehr effizientes Werkzeugset. Wir hatten etwa 60 % unseres CI-Workflows innerhalb von 2 Wochen auf Semaphore migriert“, sagt Amin Ben Slimen.

Die Ergebnisse

Seit dem Wechsel zu Semaphore ist die CI-Pipeline bei Klarx stabiler und hat konsistentere Laufzeiten. Dies ermöglichte dem Team, Fehler und unstabile Tests schneller zu erkennen.

Das Engineering-Team von Klarx findet auch Funktionen wie Caching und Ausführungsbedingungen für Aufgaben sehr nützlich für ihr Monorepo. Schließlich machten die sofort verfügbaren Umgebungen mit einer breiten Palette von Abhängigkeiten und Versionen (z.B. Postgres, Elasticsearch, Node, Ruby) das Design der CI-Pipeline für Klarx sorgenfrei und effizient.

klarx’ CI pipeline in Semaphore

Nach dem Wechsel zu Semaphore dauert der komplette CI-Workflow (Build und Test der Monolith- und Frontend-Apps) nun nur noch 10-15 Minuten, im Vergleich zu 25-30 Minuten, die es früher mit GitHub Actions gedauert hat.

Seit dem Umstieg auf Semaphore hat das Engineering-Team bei Klarx eine stabilere CI-Pipeline erfahren. Dies ermöglichte ihnen, sich auf das Wesentliche zu konzentrieren – die Entwicklung neuer Features.

Auch der Debugging-Prozess ist jetzt ein Kinderspiel. Das Team findet es äußerst nützlich, dass Semaphore das schnelle Zugreifen auf die VM/Container und das Untersuchen fehlschlagender Tests unter den genauen Fehlbedingungen erleichtert.

„Debugging mit Semaphore war ein Vergnügen. Wer hätte gedacht, dass Debugging so angenehm sein kann!“ sagt Amin Ben Slimen.

Mit der Fähigkeit von Semaphore, Ports an einen lokalen Browser weiterzuleiten, erreicht das Debugging komplexer End-to-End-Test-Setups ein beispielloses Maß an Einfachheit. Das Engineering-Team von Klarx findet auch die Testberichte als praktische und nützliche Funktion. Insgesamt hat sich Semaphore als effiziente Plug-and-Play-CI/CD-Lösung erwiesen, die es ihnen ermöglicht, sich auf die Entwicklung von Features zu konzentrieren.

„Semaphore ist empfehlenswert, weil es eine einfach zu bedienende, zuverlässige und schnelle Plattform für CI/CD bietet, mit sehr geringem technischen Aufwand. Das gibt dir und deinem Engineering-Team die Möglichkeit, euch auf euer Kerngeschäft und die Bereitstellung von Features für eure Kunden zu konzentrieren“, sagt Amin Ben Slimen.

Branche

Bauwesen

Unternehmensgröße

51-100 employees

Engineering-Team

14 Personen

Technologie-Stack

Ruby on Rails

Postgres

Elasticsearch

React

GraphQL

Star us on GitHub