GitHub 02.11.2020, 10:50 Uhr

Wie GitHub seinen CI-Workflow um das Dreifache beschleunigt hat

Engineering-Teams entwickeln sich ständig weiter, werden agiler und produktiver. GitHub hat seinen seinen Continuous-Integration-Workflow um das Dreifache beschleunigt, so dass ein CI-Lauf im Durchschnitt statt 45 Minuten nur noch 15 Minuten benötigt.
(Quelle: GitHub.com)
Hintergrund: Im Moment verfügt der Ruby-Monolith, der Millionen von Entwicklern auf GitHub.com beschäftigt, über mehr als 7.000 Testsuiten und über 5.000 Testdateien. Jedes einzelne Commit für eine Pull-Anfrage löst 25 Coninouos-Integration-Jobs aus und erfordert die Fertigstellung von 15 CI-Jobs, bevor eine Pull-Anfrage gemerged wird. Dies ist ein bekannter Reibungspunkt für viele große Organisationen, die mit dem Ruby-Monolith arbeiten. Und für GitHub bedeutet dies, dass ein Entwickler bei GitHub etwa 45 Minuten Wartezeit und 600 Cores an Rechenressourcen für jeden Commit aufwendet.
Nach der Analyse dieser CI-Jobs versuchten die GitHub-Entwickler, eine solide Strategie zu entwickeln, um die internen Reibungsverluste der Entwickler zu verringern und die Produktivität zu steigern, wobei sie sich auf diese Strategie konzentrierten:
  • Interne Engineering-Werkzeuge für die Entwicklung.
  • Schlüsselkennzahlen (Deploy-Frequenz, Vorlaufzeit für Änderungen, Zeit für die Wiederherstellung des Service, Ausfallrate)
  • Erfahrungen aus früheren Entscheidungen und Erfolgen bei Kunden.
Wie das Team das erreicht hat, seine Strategie, die wichtigsten Ergebnisse und mehr können Sie in diesem Blogbeitrag "Building GitHub: introduction" von GitHub-Mitarbeiterin Kate Studwell nachlesen. Der Blogbeitrag ist Teil der neuen Serie "Building GitHub", die einen Blick darauf wirft, wie Teams innerhalb der GitHub-Engineering-Organisation Möglichkeiten zur Verbesserung der internen Entwicklungswerkzeuge und Infrastruktur identifizieren und angehen.
Im Deep-Dive-Beitrag von GitHub-Mitarbeiterin Keerthana Kumar "Making GitHub CI workflow 3x faster" finden Sie die Details der CI-Optimierungsarbeiten.


Das könnte Sie auch interessieren