Leitfäden
So führen Sie CI in einem sehr großen Repository aus
Checkout, Indizierung und Statusberichte verschlechtern sich, wenn das Repository wächst.
6 Min. Lesezeit
Checkout, Indizierung und Statusberichte verschlechtern sich, wenn das Repository wächst.
Warum es passiert
Git-Operationen skalieren mit der Anzahl der Objekte und der Größe des Arbeitsbaums, und CI wiederholt sie bei jedem Job.
So beheben Sie das Problem
- Teilweiser Klon mit blob:none und Sparse-Checkout für die Pfade, die ein Job benötigt
- Cachen Sie den Git-Objektspeicher zwischen Läufen, wenn der Anbieter dies unterstützt
- Teilen Sie die Pipeline auf, sodass nur betroffene Projekte erstellt werden
- Verwenden Sie lokale NVMe-Läufer – Git auf Netzwerkspeicher ist bei großem Maßstab mühsam
Ihr nächster Build könnte doppelt so schnell sein — zum halben Preis
Kostenlos starten. Der Wechsel zurück ist dieselbe eine Zeile — auch dieses Diff veröffentlichen wir.
Verwandt
So beschleunigen Sie GitHub ActionsIhre Pipeline braucht länger, als irgendjemand warten möchte, und es ist nicht klar, wo die Zeit vergeht.So finden Sie den langsamen Schritt in einem WorkflowDie Pipeline ist langsam, aber jeder einzelne Schritt sieht vernünftig aus.So reduzieren Sie GitHub Actions KaltstartsJobs ruhen 30 bis 90 Sekunden, bevor der erste Schritt ausgeführt wird.So diagnostizieren Sie GitHub Actions WarteschlangenzeitenAufträge stehen minutenlang in der Warteschlange, bevor ein Läufer sie abholt.