Build Cache

現在、この機能は、Incredibuild のEnterprise、および、Business Plans でのみ利用可能で、限定的に提供されています。詳しくは、カスタマーサクセスマネージャーにご相談ください。

Build Cacheは、過去の出力の一部を再利用することで、時間とリソースを節約します。ビルドを実行すると、その出力をキャッシュに保存します。今後ビルドを実行する際には、変更のない部分を再生成しないよう、キャッシュを確認します。

ローカルマシンに保存されている過去のビルドデータを再利用することで、帯域に影響を与えることなくビルド時間を大幅に短縮することができるため、在宅勤務の場合に大きく影響します。

Build Cacheを使用するには、各イニシエータエージェントに特別なライセンスが必要です。

概要

多くの場合、コード内の依存関係に基づき、ツリー状の構造でビルドが処理されます。レイヤー 1 のファイルはレイヤー 2 のファイルを作成するために、レイヤー 2 はレイヤー 3 のファイルを作成するため、と、最終的な出力が生成されるまで同様に使用されます。

ビルドが処理されると、Incredibuild は今後使用するためにプロセスの詳細を保存します。他のファイルから生成された各処理部分は、入力ファイルと出力ファイルのペアとしてキャッシュに保存されます。一部のファイルを変更した後にビルドを実行すると、Build Cacheは類似している部分を利用して、プロセスの一部が実行されないようにすることができます。

対応プラットフォーム

  • Build cacheはVisual Studio 2017以降でのみ使用可能です。

  • Build cache は cl ツールセット (cl.exe) を使用した msbuild のビルドのみをサポートします。

Helper Cacheとの違い

Helperにタスクが与えられると、処理に必要なファイルがHelper Cacheに保存されます。全く同じファイルが送られてきた場合でも、ヘルパーは再度処理を行いますが、ファイルの再転送は必要ありません。

Build Cache では、Initiator は既に処理されたファイルを認識し、それらは完全に省略されます。再転送または再実行する必要はありません。

Build Cache ライセンスの割り当て方法

Build Cacheを使用するすべてのイニシエータに、特別なBuild Cacheライセンスを割り当てる必要があります。

  1. Coordinator > Agent List にアクセスしてください。

  2. Build Cacheを有効にしたいイニシエータエージェントをすべて選択します。

  3. Actions >Build Cache License >Allocate License をクリックします。

注意 : また、各エージェントの隣にあるオプション (...)メニューを使用して、1つのイニシエータにライセンスを割り当てることもできます。

イニシエータエージェントでBuild Cacheを有効にする方法

ライセンスの割り当てに加えて、Build Cacheを使用するすべてのイニシエータ エージェントに対して、以下の設定を行う必要があります。

Agent Settings > Build CacheでBuild Cacheを有効にし、設定を調整することができます。一度有効にすると、Build Cacheはすべてのビルドに使用され、個々のビルドで無効化できません。

  1. イニシエーターマシン上で、Agent Settings > Build Cache にアクセスします。

  2. General のウィンドウにアクセスします。

  3. Enable Build Cache をクリックします。

  4. Build Cache > Database にアクセスします。

  5. Build Cacheは、メタデータを保存するためにRedisデータベースが必要です。インストール時に、各イニシエータに自動的にインストールされる、デフォルトのデータベースを使用するか、リモートのRedisデータベースを指定することができます。

    リモートデータベースを使用し、データベースにアクセスする必要がある場合、アドレスポートパスワード を入力します。

  6. リモートデータベース、ローカルデータベースのどちらを使用する場合でも、Folder のフィールドで場所を指定します。パフォーマンスを最適化するために、リモートネットワークフォルダではなく、ローカルフォルダを使用することをお勧めします。

    フォルダに認証情報 が必要な場合は、ユーザー名パスワード を指定してください。

  7. Build Cache >File Cache にアクセスしてください。この領域には、キャッシュファイルそのものが保存されています。場所、サイズ制限、必要な認証情報を定義することができます。サイズ制限は、実行予定の全ビルドの出力サイズの2〜3倍で、且つ、10GB以上である必要があります。

    また、Coordinator の Agent List で、フォルダとキャッシュのサイズを変更することができます。イニシエータエージェント を選択し、オプションメニューを開き、Build Cache Configuration を選択します。これは、複数のエージェントを選択し、アクションメニューを使用することで、大規模に行うことができます。

高度な設定

  • キャッシュファイルの状態を一覧表示する:コマンドラインでビルドを実行したときに、どのファイルがキャッシュされたかを一覧表示します。

  • キャッシュされたプロセス出力を復元する:ビルドキャッシュで見つかったために、ビルドの一部が省略された場合でも、このオプションではコンソール上で完全に実行されたかのように詳細を表示することができます。これを無効にするとパフォーマンスが向上しますが、場合によってはコンソール出力が必要なこともあります。無効化する際はご注意ください。

  • キャッシュを消去する:データベースとビルドキャッシュの両方をクリアします。これらの項目は、Build Cache機能の基本であるため、通常の場合、キャッシュの消去はお勧めしません。

Build Cacheの効果を検証する

Build Cacheを使用することでどれだけ時間が短縮されたか、についての詳細は、すべてのビルドの出力に含まれます。これは、コマンドラインで見る出力と同様に、ビルドモニター の出力タブで見ることができます。

制限事項

  • 現在、ビルドキャッシュは1度に1つのビルドに対してのみ実行できます。

  • キャッシュの場所がリモートの場合、キャッシュが利用可能なディスクスペースに関するデータを共有する場所にある必要があります。