🐺
gradleをaction上でcacheする
はじめに
GitHub Actions
でjar
ファイルをキャッシュする話
結論
gradle/actions/setup-gradle
でキャッシュする
gradle 依存関係キャッシング
gradle/actions/setup-gradle
を使用することで Gradle ユーザー ホーム ディレクトリの重要な部分がキャッシュされます。
以降のジョブでは、キャッシュが復元されるので、ビルド スクリプトを再コンパイルする必要がなく、依存関係をリモート パッケージ リポジトリからダウンロードする必要がなくなります。
GitHub公式より
実装
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Build
run: |
./gradlew customTask --build-cache
....
--build-cache
を使用することで、2回目以降は更新されていないTaskはキャッシュされます。
Tips
OS間による実行差異
OS環境が異なる場合に、適切なキャッシングがされず実行できないケースもある
また、{{ github.workspace }}
や ~ (home)
のようなディレクトリポインタの使用も避けるよう記載があります。
制限について
リポジトリあたり10GBのキャッシュ制限があり
制限に達すると古いキャッシュが自動削除されるため、重要なキャッシュが予期せず消失する可能性もあります。
その他一般的に起こるエラーについて
Discussion