ビルドキャッシュとは?
ビルドキャッシュはビルドステップの結果を入力をキーとして保存し、同じ入力が再び現れたときに再ビルドする代わりにキャッシュされた出力を再利用します。コンパイラ、bundler、依存関係マネージャーはいずれも冗長な作業をスキップするためにキャッシュを使います。正しいキャッシュはビルドを劇的に高速化しつつ、クリーンビルドと同じ出力を生成します。
なぜ重要か
ほとんどのCI runはコードベースのごく一部だけを変更するため、すべてをゼロから再ビルドするのは時間の無駄です。ビルドキャッシュはそれをインクリメンタルな作業に変えます。リスクは陳腐化です。キーの設計が不十分なキャッシュは入力に一致しなくなった出力を再利用しかねないため、cache keyは結果に影響するすべてを取り込む必要があります。
関連する概念
- remote cacheは結果をマシンとCI run間で共有する
- layer cachingはコンテナイメージにおける同等物である
- cache keyは正しさを保つためにビルドに影響するすべての入力を含める必要がある
関連ガイド
What Is a Remote Cache?A remote cache stores build outputs in a shared, networked location so they can be reused across machines, CI…
What Is Docker Layer Caching?Layer caching reuses unchanged container image layers across builds, so only the layers affected by a change…
What Is a Hermetic Build?A hermetic build depends only on explicitly declared, pinned inputs and is isolated from the host, so it prod…