pnpm
pnpm CI auf GitHub Actions
Die pnpm-Installation ist lokal schnell, in CI jedoch langsam.
65s → 6s
Installieren
3m → 12s
Monorepo-Installation
Die pnpm-Installation ist lokal schnell, in CI jedoch langsam.
Warum es passiert
Der inhaltsadressierte pnpm-Speicher befindet sich außerhalb des Projekts und wird nicht zwischengespeichert, sodass jedes Paket erneut heruntergeladen wird.
Was zu ändern ist
- Zwischenspeichern des vom pnpm-Speicherpfad zurückgegebenen pnpm-Speicherpfads
- Zur Reproduzierbarkeit mit --frozen-lockfile installieren
- Verwenden Sie den Store-Cache, anstatt node_modules zwischenzuspeichern – er dedupliziert arbeitsbereichsübergreifend
pnpm auf runnerhut
Die einzige runnerhut-spezifische Zeile ist „runs-on: runnerhut-4vcpu-ubuntu-2404“. Alles andere sind Standard-GitHub Actions – dieselben Aktionen, dieselben Geheimnisse und dasselbe Berechtigungsmodell, das Sie heute verwenden.
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
BazelDer gesamte Wert von Bazel liegt im Caching, und CI wirft den Cache bei jedem Lauf weg.GradleDie Konfigurationsphase dauert 40 Sekunden, bevor etwas kompiliert wird.MavenMaven lädt bei jedem Lauf das Internet herunter.NxNx erstellt jedes Projekt neu, da es nicht erkennen kann, was sich geändert hat.