Nourish Care hat ihre Testdurchläufe mit Semaphore von 3 Stunden auf 12 Minuten reduziert
Probieren Sie Semaphore aus
In diesem Video finden Sie die Antworten auf diese Fragen:
Welche Rolle spielt CI/CD in Ihrem täglichen Betrieb?
Jedes Mal, wenn wir eine Pull-Anfrage öffnen, durchläuft sie verschiedene Qualitätsprüfungen, bevor wir überhaupt an etwas anderes denken. Zuerst erfolgt das Linting, dann haben wir Best Practices für Rails, um sicherzustellen, dass wir alles richtig machen, wie zum Beispiel RuboCop. Wenn diese alle bestehen, wird unser automatisierter Test-Suite ausgeführt. Wir haben aktuell etwa 8.000 Tests, die bei jeder Pull-Anfrage laufen. Wenn diese bestanden sind, erhalten wir ein grünes Häkchen. Nach der Genehmigung können wir die Anfrage mergen. Sobald sie gemergt ist, wird sie automatisch in unsere Entwicklungsumgebung bereitgestellt, wo wir die Dinge testen. Wir führen dann wöchentliche Releases durch, um in höhere Umgebungen zu gehen – von Staging zu Beta und dann eine Woche später von Beta zu Produktion. Und das alles läuft über Semaphore.
Warum haben Sie sich für Semaphore als CI/CD-Plattform entschieden?
Wir sind seit drei Jahren bei Nourish, und ich glaube, die aktuelle Implementierung von Semaphore nutzen wir seit fünf Jahren. Bevor Semaphore 2.0 hatten wir Semaphore 1.0. Wir nutzen Semaphore also schon sehr lange und haben nie das Gefühl gehabt, etwas anderes zu brauchen. Es gibt nie wirklich Probleme mit Semaphore, nur dass manchmal das, was wir darauf aufbauen, leicht kaputt geht und wir es beheben müssen. Aber insgesamt funktioniert Semaphore einfach. Es ist schnell und einfach, neue Microservices in Semaphore einzurichten. Man muss nur das GitHub-Repo hinzufügen und sicherstellen, dass es das richtige YAML hat, um alles zu konfigurieren, und dann geht es los. Die Bereitstellung geht schnell.
Welche Semaphore-Funktionen finden Sie am nützlichsten?
Die wichtigste Funktion sind die paralellen Test-Suites. Mit den 8.000 Tests dauert es etwa drei Stunden, sie einzeln auszuführen. Aber wir lassen sie über 20 Knoten laufen, was nur etwa 12 Minuten dauert. Wir verwenden Knapsack, um die Tests zu optimieren, sodass sie gleichmäßig verteilt werden und jede Testgruppe ungefähr die gleiche Zeit benötigt. Weitere nützliche Funktionen sind das UI-Testing mit Capybara, bei dem wir Screenshots erhalten, wenn Tests fehlschlagen. Semaphore ermöglicht es uns, diese als Artefakte zu extrahieren, was uns hilft, schnell zu erkennen, was schiefgelaufen ist. Die Caching-Funktion für Ressourcen ist ebenfalls großartig, insbesondere für Node-Module. Wir können unsere Builds viel schneller machen, indem wir diese cachen und nur dann neu laden, wenn es nötig ist. Was auch sehr hilfreich ist: Wenn ich eine Bereitstellung starte, drücke ich einen Button, und es wird gleichzeitig auf allen 20 Produktionsservern ausgeführt. Ich kann die Logs für jeden einzelnen einsehen und bei Fehlern einen bestimmten Server erneut ausführen.
Wie finden Sie den Support von Semaphore?
Wir müssen den Support selten nutzen. Ich habe mich umgehört, und die meisten hatten ihn noch nie gebraucht. Ich habe vor ein oder zwei Monaten den Support kontaktiert und bekam eine sehr schnelle Antwort. Sie waren sehr hilfsbereit. Es stellte sich heraus, dass das Problem bei mir lag, aber die Person, die mir half, bot trotzdem Lösungen und Ratschläge an, was ich wirklich schätzte. Das war wirklich positiv.
Warum würden Sie Semaphore empfehlen?
Die Geschwindigkeit der Einrichtung ist unglaublich schnell und einfach, sodass man nicht viel zu verlieren hat, wenn man es ausprobiert. Es ist sehr anpassbar. Wir haben viele verschiedene Pipelines am Laufen, und wir können Dinge blockieren, sodass bestimmte Sachen nicht versehentlich in die Produktion gelangen. Das ist eine große Erleichterung. Ich muss an vieles, was ich tue, gar nicht mehr denken. Ich drücke einfach auf „Merge“ und weiß, dass es in 20 Minuten in der Staging-Umgebung ist und dort bereitsteht. Es ist einfach zu bedienen, also würde ich es definitiv empfehlen.
Nourish arbeitet eng mit Pflegeanbietern, lokalen Gesundheits- und Sozialorganisationen sowie Familien und Gemeinschaften zusammen, um das Management, die Bereitstellung, die Überwachung und die Verbesserung der Pflege zu optimieren. Ihre innovativen mobilen und Cloud-Anwendungen sind darauf ausgelegt, das Pflege-Management effektiver zu gestalten, die Pflegearbeit erfüllender zu machen und den Kontakt zu geliebten Menschen einfacher und beruhigender zu gestalten.
Branche
Gesundheitswesen, Elektronische Gesundheitsakten, Informationstechnologie, Pflege und stationäre Pflege
Hauptsitz
Europe, Middle East, and Africa (EMEA)
Stack
Vue
Ruby on Rails
Rail views
Angular
AWS
Python
Typescript
Go
Echte Ergebnisse. Echte Wirkung. 🎯📈