Zum Inhalt springen

Node.js

Node.js CI auf GitHub Actions

npm ci schreibt bei jedem Lauf Zehntausende kleiner Dateien.

95er → 11er
npm ci
6m → 2m
Volle Pipeline
6 GB/s
Festplattendurchsatz

npm ci schreibt bei jedem Lauf Zehntausende kleiner Dateien.

Warum es passiert

node_modules ist ein Dateisystem-Stresstest, und an das Netzwerk angeschlossener CI-Speicher ist der schlechteste Ort, an dem man einen solchen Test ausführen kann.

Was zu ändern ist

  1. ~/.npm zwischenspeichern und node_modules direkt wiederherstellen, anstatt es neu zu installieren
  2. Wechseln Sie zu pnpm – sein inhaltsadressierter Speicher ermöglicht nahezu sofortige Installationen in einem warmen Cache
  3. Auf einem Läufer mit lokalem NVMe ausführen; Diese Arbeitslast ist festplattengebunden, nicht CPU-gebunden
  4. Verwenden Sie --prefer-offline, damit ein Warm-Cache nicht über das Netzwerk erneut validiert wird

Node.js 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.