ビルドフィンガープリント - CI/CD用語集の定義
ビルドフィンガープリントは、タスクのすべての入力のハッシュです。2つの実行が同じフィンガープリントを生成するなら、同じ出力を生成するはずなので、2回目はcacheから提供できます。
ビルドフィンガープリントは、タスクの入力(ソースファイル、依存関係、ツールのバージョン、フラグ)から計算されるハッシュで、期待される出力を一意に識別します。これにより、フィンガープリントが一致するとビルドシステムは作業をスキップしたり、cacheされた結果を再利用したりできます。
フィンガープリンティングは、Bazel、Turborepo、Nx のようなツールにおける増分ビルドやcacheに支えられたビルドの背後にある仕組みです。
フィンガープリントに含まれるもの
正しいフィンガープリントは、出力を変え得るすべての入力をハッシュします。ファイルの内容、依存関係グラフ、コンパイラとツールチェーンのバージョン、環境変数、コマンドラインのフラグです。入力を1つ見落とすと古いcache hitが起きます。ハッシュしすぎると不要なcache missが起きます。
CIでは
フィンガープリントにより、pipelineは以前のcommitや兄弟ブランチの作業を再利用できます。見落とされた入力(例えば固定されていないツールのバージョン)は、"自分のマシンでは動く"という類のcacheのバグのよくある原因です。
関連ガイド
Content-Addressable Cache - CI/CD Glossary DefinitionContent-Addressable Cache: A content-addressable cache stores each artifact under a key derived from a hash o…
Remote Build Cache - CI/CD Glossary DefinitionRemote Build Cache: A remote build cache is a shared, network-accessible store of build outputs that multiple…
Cache (CI) - CI/CD Glossary DefinitionCache (CI): A **cache** stores dependencies or build outputs between runs so they are restored instead of rec…