Skip to content
Latchkey

ビルド再現性 (Build Reproducibility) とは?

ビルド再現性は、同じソース、ツールチェーン、入力が常にバイト単位で同一の出力を生成するという保証です。これを達成するには、埋め込まれたタイムスタンプ、ファイルの順序、絶対パスといった非決定性を排除する必要があります。再現可能なbuildは、artifactが本当に主張されたソースから来たものであることを独立した第三者が確認できるようにします。

なぜ重要か

再現性はサプライチェーンの信頼を支えます。同じコミットの2つのbuildが異なるなら、バイナリが改ざんされていないことを証明できません。また、同一の入力が同一の出力に対応するため、cacheを信頼できるものにします。よくある原因は実時計のタイムスタンプであり、そのために決定論的タイムスタンプやSOURCE_DATE_EPOCHが存在します。

関連ガイド