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
- A ~/.npm gyorsítótárazása és a node_modules visszaállítása közvetlenül az újratelepítés helyett
- 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
- Fuss egy futón a helyi NVMe-vel; ez a munkaterhelés lemezhez kötött, nem CPU-hoz
- 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.