Skip to main content

Gradle 構成キャッシュ

概要

Gradle構成キャッシュは、Gradleプロジェクトの構成フェーズの結果をキャッシュし、後続のビルドで再利用することでビルド時間を短縮します。詳細については、以下をお読みください。 Gradleの公式ドキュメントBitrise Build Cache は、Gradle 8.6 以降のバージョンでこの機能をサポートしています。

Gradle構成キャッシュは、Gradleプロジェクトの構成フェーズの結果をキャッシュし、後続のビルドで再利用することでビルド時間を短縮します。詳細については、以下をお読みください。 Gradleの公式ドキュメントBitrise Build Cache は、Gradle 8.6 以降のバージョンでこの機能をサポートしています。

構成キャッシュの設定

構成キャッシュを設定するには:

  1. Bitrise Build Cache のサブスクリプションまたはトライアルがあることを確認してください。

  2. ローカルでビルドを実行するには、 --configuration-cache フラグ。

    これにより、Gradleプロジェクトが設定キャッシュをサポートするようになります。Gradle設定で設定キャッシュを有効にするには、 Gradleの公式ガイドを参照してください

  3. Bitriseを生成する 個人アクセストークン

    トークンの一貫性

    構成キャッシュが正しく機能するには、Gradle プラグインで使用される認証トークンがビルド間で一貫している必要があります。

  4. Gradle 暗号化キーを生成します。

    openssl rand -base64 16
  5. キーを 秘密 名前 GRADLE_ENCRYPTION_KEY Bitrise プロジェクトで。

    これにより、構成キャッシュの暗号化された値が、異なるビルド間で同じままになります。固定暗号化キーの使用は、Gradle バージョン 8.6 以降でサポートされています。Bitrise は、それより前の Gradle バージョンの Gradle 構成キャッシュをサポートしていません。

  6. 追加する Gradle の Bitrise ビルド キャッシュ アドオンを有効にする ワークフローへのステップ。

    ステップはバージョン 2.7.7 以降である必要があります。ステップをそれ以降に更新すると、構成キャッシュが 1 回だけ無効になります。この現象が発生した場合は、再構築して問題を修正してください。

  7. 追加する Gradle設定キャッシュを復元する そして Gradle キャッシュを復元する ワークフローで Gradle を呼び出す前の手順。

    ステップは、キャッシュされた構成データを取得し、構成キャッシュが参照する成果物にアクセスできるようにします。

    構成キャッシュディレクトリ

    Gradle設定キャッシュを復元する ステップはデータを保存します ./.gradle/configuration-cache ディレクトリ。これを上書きするには、 構成キャッシュディレクトリ 入力。

    例えば、 Android ビルド Gradle プロジェクトをビルドするには、ワークフロー内でこれらの 2 つのステップがプロジェクトの前に来る必要があります。

  8. 追加する Gradle設定キャッシュを保存する そして Gradle キャッシュを保存 ワークフローでの Gradle 呼び出し後の手順。

    ステップは、構成データをキャッシュに保存し、構成キャッシュによって参照される成果物を保存します。

  9. 有効にする 変換を保存 の入力 Gradle キャッシュを保存 ステップ。ステップ バージョン 1.4.1 以降が必要です。

Gradle 構成キャッシュ ログの保存

Gradleのビルドログには、構成キャッシュを再利用しなかった理由に関する情報が含まれている場合があります。ログは 遺物 ビルドのページ:

  1. 有効にする --info ログレベル Gradle で。

  2. 追加する Bitrise.ioにデプロイ ワークフローへのステップ。

  3. 設定する ディレクトリまたはファイルパスを展開する Gradle がファイル パスとして出力するものへの入力。

展開されたファイルは、 遺物 ページ: Bitrise CIを開き、プロジェクトを選択してからビルドを選択し、 遺物 タブ。

構成キャッシュのトラブルシューティング

ビルドで構成キャッシュが再利用されない場合は、いくつかの潜在的な問題を確認できます。

一般的なトラブルシューティング

  • 依存関係キャッシュを利用するには、必ず Gradle キャッシュの保存/復元ステップを追加してください。Gradle 構成キャッシュは、存在する必要がある成果物を参照します。

  • 構成キャッシュが完全に適用され、再利用されるまでに複数回の実行が必要になる場合があります。

  • Gradleが設定キャッシュを再利用しなかった理由を調べるには、Gradleログを確認してください。 Gradle設定キャッシュログを保存する ビルド成果物に追加します。

  • アップデート Gradle の Bitrise ビルド キャッシュをアクティブ化する この手順により、構成キャッシュが 1 回だけ無効化されます。問題を修正するには、もう一度ビルドを実行してください。

クラスエラーの計測に失敗しました

次のエラーが発生してビルドが失敗する可能性があります。

org.gradle.internal.operations.BuildOperationInvocationException: Failed to instrument class io/bitrise/gradle/cache/BitriseBuildCache in ClassLoaderScopeIdentifier.Id{coreAndPlugins:init-file:/root/.gradle/init.d/bitrise-build-cache.init.gradle.kts(export)}

この問題を解決するには:

  1. では Gradleキャッシュを保存する ステップ、設定 変換を保存する 入力する 真実

    バージョン要件

    入力はバージョン 1.4.1 以降でのみ利用可能です。

  2. ビルドを実行せずに強制的に保存する Gradleキャッシュを復元する ステップ。