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
- Meet eerst: gesplitste wachtrijtijd, configuratie, cacheherstel en staptijd voordat u iets wijzigt
- Schakel gelijktijdigheidsannulering in, zodat vervangen pushes geen capaciteit meer verbruiken
- Herstel het cachetrefferpercentage voordat u grotere hardlopers koopt - dit is meestal de grotere hendel
- Hardlopers van de juiste maat tegen gemeten CPU-gebruik, omhoog en omlaag
- Paralleliseer het kritieke pad: verdeel lange testsuites, splits lint op in zijn eigen taak
- 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.
Gerelateerd
Hoe je de langzame stap in een workflow kunt vindenDe pijplijn is traag, maar elke afzonderlijke stap lijkt redelijk.Hoe u GitHub Actions koude starts kunt verminderenTaken duren 30 tot 90 seconden voordat de eerste stap wordt uitgevoerd.Een diagnose stellen van GitHub Actions wachtrijtijdenTaken staan minutenlang in de wachtrij voordat een hardloper ze ophaalt.Hoe je Git Checkout sneller kunt makenacties/afrekenen duurt minuten op een grote repository.