8 Punkte von adldotori 2023-05-14 | 1 Kommentare | Auf WhatsApp teilen

Viele nutzen auf GitHub GitHub Actions, um ihre CI/CD-Pipeline auszuführen. Für schnelle Builds wird häufig Caching verwendet. Anfangs ist das meist kein großes Problem, aber wenn der Service größer wird oder die Zahl der Branches zunimmt, greift das Caching nicht mehr und es wird jedes Mal neu gebaut, wodurch alles langsamer wird. Der Grund dafür ist, dass das Standard-Caching von GitHub Actions auf 10 GB begrenzt ist.
Um dieses Problem zu lösen, haben wir ein Paket entwickelt, das auf einem Self-hosted Runner lokales Caching ermöglicht.

      - 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-  

Statt eines GitHub-hosted Runners kann man einen Self-hosted Runner verwenden und an der Stelle, an der bisher der bestehende Cache genutzt wurde, einfach nur den uses-Teil in corca-ai/local-cache ändern, um es sofort einzusetzen.
Damit entfällt die Größenbeschränkung des Caches, und während das bisherige Caching Cache-Dateien über das Netzwerk lädt, wird lokales Caching direkt von der Festplatte geladen. Dadurch verbessert sich die Caching-Geschwindigkeit deutlich. Bei uns war eine mehr als fünffache Beschleunigung spürbar.

1 Kommentare

 
tujuc 2025-04-09

Etwas Ähnliches ist maxnowack/local-cache.