local caching による GitHub Actions の高速化
(github.com/corca-ai)GitHub で GitHub Actions を活用して CI/CD パイプラインを回している方は多いと思います。高速なビルドのためにキャッシュを多用しますが、最初は大きな問題がなくても、サービスが大きくなったりブランチが増えたりするとキャッシュが効かなくなり、毎回再ビルドされて速度が遅くなり始めます。これは GitHub Actions の標準キャッシュに 10GB の容量制限があるためです。
この問題を解決するために、self-hosted runner でローカルにキャッシュできるパッケージを開発しました。
- 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 の代わりに self-hosted runner を使い、既存の cache を使っていた箇所では uses の部分だけを corca-ai/local-cache に変更すればすぐに利用できます。
キャッシュの容量制限がなくなり、従来のキャッシュはネットワーク経由でキャッシュファイルを読み込むのに対して、ローカルキャッシュはディスクから直接ロードするため、キャッシュ速度が飛躍的に向上します。私たちは 5 倍以上の速度向上を体感しました.
1件のコメント
似たようなものとして、maxnowack/local-cache があります。