Skip to main content

React ネイティブキャッシュよくある質問

正確にキャッシュされるのは何ですか?

  • アンドロイド: リモートビルドキャッシュ経由の Gradle タスク出力 (コンパイル、リソース処理、dex 生成)。

  • iOS: LLVM CAS ベースのキャッシュによる Xcode コンパイル出力 (オブジェクトファイル、モジュールアーティファクト)。

  • C++ ネイティブモジュール: ネイティブ・ブリッジ・コードとサード・パーティー・ネイティブ・モジュールを経由してコンパイル ccache、Bitriseのリモートストレージに支えられています。

キャッシュされないもの

  • メトロ JS バンドル — JavaScript バンドルのステップはこの設定の影響を受けません。

  • node_modules — パッケージインストール (yarn / npm / pnpm) はこのツールではキャッシュされません。キャッシュしたい場合はBitriseの標準キャッシュ手順を使用してください node_modules

すべてのコマンドをラップする必要がありますか?

トリガーされたコマンドのみをラップする ネイティブビルド。ラップする必要はありません:

  • yarn install / npm install / pnpm install

  • yarn test / npm test (JS のみのテスト)

  • Gradle または Xcode を起動しないすべてのコマンド

次のようなラップコマンド npx react-native run-androidnpx react-native run-ios./gradlew assembleReleasefastlane build、または最終的に呼び出す任意のスクリプト xcodebuild またはグラドル。

これでテストがスピードアップしますか?

ビルド・キャッシュが減少 コンパイル 時間。テストワークフローにビルドステップが含まれている場合 (例 xcode-build-for-test)、そのステップの方が速くなります。実際のテスト実行時間は影響を受けません。

これをスタンドアロンのGradleまたはXcodeビルドキャッシュステップと一緒に使用できますか?

いいえ — リアクトネイティブ用ビルドキャッシュ ステップでは、Gradle、Xcode、C++ のキャッシュを一度に設定できます。すでにスタンドアロンを使用している場合 Gradle 用キャッシュをビルド または Xcode のキャッシュをビルド 手順 1. 構成の競合を避けるため、このステップに置き換えてください。

バックエンドの 1 つを選択的に無効にすることはできますか?

はい。アクティベーションステップでは Gradle と Xcode の入力が公開されます (どちらもデフォルトは true)。CLI で次のように渡します --gradle=false--xcode=false、または --cpp=falsebitrise-build-cache activate react-native。Gradle を無効にすると C++/ も無効になりますccache Android 側のフロー。C++ バックエンドは以下のようになります。 --cpp フラグ。

それでもキャッシュの設定を微調整できますか?

はい — React Native アクティベーションでは、以下の環境変数のみがポイントに設定されます。 ccache Bitrise のリモートストレージで:

  • CCACHE_BASEDIR

  • CCACHE_NOHASHDIR

  • CCACHE_REMOTE_ONLY

  • CCACHE_REMOTE_STORAGE

  • CMAKE_CXX_COMPILER_LAUNCHER

  • CMAKE_C_COMPILER_LAUNCHER

その他—あなたを含む ccache.conf — カスタマイズはあなた次第です。上記の env 変数は設定ファイルからの同じパラメータを上書きすることに注意してください

問題のトラブルシューティング方法を教えてください。

  • 詳細ログを有効にするには、以下を設定します。 詳細ロギング Activate ステップ (またはパス) での入力 --debug CLI へ)。これにより、キャッシュ設定とバックグラウンドストレージヘルパーに関する追加の詳細が記録されます

  • アクティベーションステップがで実行されたことを確認します 同じ環境 ビルドコマンドと同じ (Bitrise CI 以外でも同じコンテナ/シェル)

  • ネイティブビルドコマンドが次のコードでラップされていることを確認する bitrise-build-cache react-native run

  • をチェック ビルドキャッシュ ビルド詳細ページのタブをクリックして、ラップされた呼び出しが登録されているかどうかを確認します。

  • iOS の場合、スタックが使用していることを確認する Xcode 2.6 以降

Bitriseの公式ステップを使ってアプリをビルドしています。まだラッパーは必要ですか

いいえ。の最新バージョンを使用している場合 グラドルランナーアンドロイドビルド、または Xcode アーカイブ、ラッピングはステップ自体によって処理されます。ただし、それらのステップが最新であることを確認してください。ネイティブビルドをトリガーする別の公式Bitriseステップを使用する場合、 お知らせください サポートを追加できるようにしましょう