Node.js
GitHub Actions üzerinde Node.js CI
npm ci her çalıştırmada onbinlerce küçük dosya yazar.
95'ler → 11'ler
npm ci
6 dk → 2 dk
Tam boru hattı
6 GB/sn
Disk verimi
npm ci her çalıştırmada onbinlerce küçük dosya yazar.
Neden oluyor?
node_modules bir dosya sistemi stres testidir ve ağa bağlı CI depolaması, testin çalıştırılabileceği en kötü yerdir.
Ne değiştirilmeli
- ~/.npm'yi önbelleğe alın ve yeniden yüklemek yerine doğrudan node_modules'ı geri yükleyin
- Pnpm'ye geçin — içerik adresli mağazası, sıcak bir önbellek üzerinde neredeyse anında kurulum sağlar
- Yerel NVMe ile bir koşucuda çalıştırın; bu iş yükü CPU'ya değil diske bağlıdır
- Sıcak önbelleğin ağ üzerinden yeniden doğrulanmaması için --prefer-offline kullanın
runnerhut'ta Node.js (runnerhut)
runnerhut'a (runnerhut) özgü tek satır 'runs-on: runnerhut-4vcpu-ubuntu-2404'tür. Geriye kalan her şey standart GitHub Actions'tir; bugün kullandığınız aynı eylemler, aynı sırlar ve aynı izin modeli.
Bir sonraki build'iniz yarı fiyata iki kat hızlı olabilir
Ücretsiz başlayın. Ayrılmak da aynı tek satır ve o diff'i de yayımlıyoruz.
İlgili
RustCargo neredeyse her CI çalıştırmasında bağımlılık grafiğinin tamamını yeniden oluşturur.GitGo derlemeleri yerel olarak hızlıdır ve CI'da açıklanamayacak kadar yavaştır.Pythonpip kurulumu dakikalar alır ve pytest tek bir çekirdek üzerinde çalışır.JavaHer derleme aynı Maven veya Gradle bağımlılıklarını yeniden indirir.