Schnellere GitHub Actions durch lokales Caching
(github.com/corca-ai)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
Etwas Ähnliches ist maxnowack/local-cache.