Skip to content
Latchkey

リモートキャッシュとは?

リモートキャッシュは単一のマシン上ではなく共有ストレージにホストされたビルドキャッシュで、あるrunnerや開発者が生成したキャッシュ出力を別の者がダウンロードして再利用できます。どこかで行われた作業をあらゆる場所での高速化に変えます。Bazel、Turborepo、Gradleといったツールはまさにこの理由でリモートキャッシュをサポートしています。

なぜ重要か

エフェメラルなCI runnerでは、マシンが破棄されるとローカルキャッシュも消えるため、次のjobはゼロから再ビルドします。リモートキャッシュはrunnerより長く存続し、新しいエフェメラルなマシンが以前の作業を再利用できるようにします。マネージドrunnerプラットフォームは、隔離と速度の両方を得るために、エフェメラルなrunnerとリモートキャッシュを組み合わせることがよくあります。

関連する概念

  • 安全であるにはcontent-addressedでhermeticなビルドが必要である
  • 書き込みが信頼できない場合、cache poisoningがリスクとなる
  • 小さなartifactではネットワーク転送コストが節約を相殺しうる

関連ガイド