キャッシュ
ビルド成果物は環境間で共有されないため、同じコードを何度も再ビルドする必要があります。Tuist のキャッシング機能は成果物をリモートで共有するため、チームと CI はすでにビルド済みのものを再ビルドすることなく、より高速なビルドを実現できます。
プロジェクトやデプロイメントモデルに合ったキャッシュのワークフローを学びましょう:
Tuist で生成したプロジェクトを使用する場合、個々のモジュールをバイナリとしてキャッシュします。Tuist によるプロジェクト生成が必要です。
Xcode のコンパイル成果物を環境間で共有します。任意の Xcode プロジェクトで動作し、プロジェクト生成は不要です。
Gradle のビルドキャッシュ成果物をリモートで共有します。パフォーマンスを可視化するためのビルドインサイトが含まれています。
Bazel を Tuist の Remote Execution API キャッシュに向けることで、アクションの出力をチームと CI 間で共有できます。
サポートされている Elixir 依存関係のキャッシングを有効にし、Mix を引き続き使用できます。ダッシュボードでキャッシュヒットと転送を確認できます。
サポートされているレジストリのリーフライブラリの出力をローカルおよび Kura 経由で再利用します。キャッシングの有効化方法とキャッシュアクティビティの確認方法を学びます。
CI、オフィス、またはリージョンのコンピューティングに近い場所にキャッシュノードを実行し、それらをホスト型またはセルフホスト型の Tuist に接続します。
Tuist Runnersでは、キャッシュはランナーのプライベートネットワーク上に配置され、開発者マシンが使用するものと同じキャッシュを共有するため、CI ジョブは追加の設定なしですぐにウォームヒットを利用でき、別途 CI キャッシュをウォームアップする必要がありません。
CI へのアップロードを制限#
アカウント管理者は、開発者を読み取り専用にしながら、CI がキャッシュ成果物をアップロードできるようにすることができます。Tuist でアカウントの キャッシュ 設定を開き、キャッシュアップロードアクセス を CI とアカウントトークンのみ に設定します。その後、ログインセッションで認証されたメンバーは引き続きキャッシュからダウンロードできますが、アップロードには CI OIDC 認証または project:cache:write や ci などのキャッシュ書き込みスコープを持つアカウントトークンが必要です。
CI が信頼できるキャッシュプロデューサーであり、ローカルマシンはキャッシュの消費のみを行う場合に使用します。この設定はキャッシュアップロードの認可にのみ影響します。