Local caching ile GitHub Actions hızını artırma
(github.com/corca-ai)GitHub’da git action kullanarak CI/CD pipeline’ı çalıştıran birçok kişi vardır. Hızlı derlemeler için cache yoğun biçimde kullanılır; başlangıçta büyük bir sorun olmaz, ancak servis büyüdükçe veya branch sayısı arttıkça cache çalışmamaya başlar ve her seferinde yeniden build alındığı için hız düşer. Bunun nedeni, GitHub Actions’ın varsayılan cache mekanizmasının 10 GB boyut sınırına sahip olmasıdır.
Bu sorunu çözmek için, self-hosted runner üzerinde yerel olarak cache alabilen bir paket geliştirdik.
- name: Cache node dependencies
id: node-cache
uses: corca-ai/local-cache@v2
with:
path: node_modules
key: node-${{ hashFiles(‘yarn.lock’) }}
clean-key: node-
github-hosted runner yerine self-hosted runner kullanıp, mevcut cache kullanılan yerde yalnızca uses bölümünü corca-ai/local-cache olarak değiştirmeniz yeterlidir.
Cache boyutu sınırı ortadan kalkar ve mevcut cache mekanizması cache dosyalarını ağ üzerinden getirirken, yerel cache bunları doğrudan diskten yüklediği için cache hızı çarpıcı biçimde artar. Biz 5 katın üzerinde bir hız artışı deneyimledik.
1 yorum
Benzer bir şey olarak maxnowack/local-cache var.