Naar inhoud springen

Gidsen

Hoe te versnellen GitHub Actions

Uw pijplijn duurt langer dan iemand wil wachten, en het is niet duidelijk waar de tijd naartoe gaat.

8 min leestijd

Uw pijplijn duurt langer dan iemand wil wachten, en het is niet duidelijk waar de tijd naartoe gaat.

Symptomen

  • Ontwikkelaars wisselen van context terwijl ze wachten
  • De duur van de pijplijn groeit elk kwartaal
  • Niemand kan zeggen welke stap het langzaamst is

Waarom het gebeurt

De tijd van de wandklok wordt verdeeld over de wachtrijtijd, het starten van de runner, het herstellen van de cache, het installeren van de afhankelijkheid en de build zelf. Teams optimaliseren meestal de laatste omdat dit de enige is die ze kunnen zien.

Hoe het te repareren

  1. Meet eerst: gesplitste wachtrijtijd, configuratie, cacheherstel en staptijd voordat u iets wijzigt
  2. Schakel gelijktijdigheidsannulering in, zodat vervangen pushes geen capaciteit meer verbruiken
  3. Herstel het cachetrefferpercentage voordat u grotere hardlopers koopt - dit is meestal de grotere hendel
  4. Hardlopers van de juiste maat tegen gemeten CPU-gebruik, omhoog en omlaag
  5. Paralleliseer het kritieke pad: verdeel lange testsuites, splits lint op in zijn eigen taak
  6. Ga naar hardlopers met lokale NVMe als de I/O-wachttijd hoog is

Je volgende build kan twee keer zo snel zijn, voor de halve prijs

Begin gratis. Weggaan is dezelfde ene regel, en die diff publiceren we ook.