Ugrás a tartalomra

Node.js

Node.js CI a GitHub Actions-on

Az npm ci minden futásnál több tízezer kis fájlt ír.

95s → 11s
npm ci
6m → 2m
Teljes csővezeték
6 GB/s
Lemez átviteli sebesség

Az npm ci minden futásnál több tízezer kis fájlt ír.

Miért történik

A node_modules egy fájlrendszer stressztesztje, és a hálózathoz csatlakoztatott CI-tároló a lehető legrosszabb hely a futtatására.

Mit kell változtatni

  1. A ~/.npm gyorsítótárazása és a node_modules visszaállítása közvetlenül az újratelepítés helyett
  2. Ugrás a pnpm-re – tartalom-címzett tárolója szinte azonnali telepítést tesz lehetővé egy meleg gyorsítótáron
  3. Fuss egy futón a helyi NVMe-vel; ez a munkaterhelés lemezhez kötött, nem CPU-hoz
  4. Használja a --prefer-offline beállítást, hogy a meleg gyorsítótár ne kerüljön újraérvényesítésre a hálózaton keresztül

Node.js a runnerhut-on (runnerhut)

Az egyetlen runnerhut specifikus sor a "runs-on: runnerhut-4vcpu-ubuntu-2404". Minden más a szokásos GitHub Actions – ugyanazok a műveletek, ugyanazok a titkok és ugyanaz az engedélymodell, amelyet ma is használ.

A következő buildje kétszer gyorsabb lehet, fele áron

Kezdje ingyen. A távozás ugyanaz az egy sor, és azt a diffet is közzétesszük.