1

AWS Codebuild を使用して Docker イメージを構築しています。最近、ビルド キャッシュを利用するために buildkit を追加しました (これ以前は、キャッシュはまったく利用されていませんでした)。私のbuildspecファイルからのビルドコマンドは次のとおりです。

DOCKER_BUILDKIT=1 docker build --build-arg BUILDKIT_INLINE_CACHE=1 [...a lot of build-args] -t $REPOSITORY_URI:latest --cache-from $REPOSITORY_URI:latest .

前回のビルドからコードを変更せずに Codepipeline 全体の再ビルドをトリガーすると、ほとんどのレイヤーでキャッシュが使用されます。ビルドログを調査し、このような行を見つけることでわかります#35 CACHED。しかし、ビルドする前にコードを変更すると、すべてのキャッシュが無効になったようです。変更の影響を受けるレイヤーとそれ以降のレイヤーのみを再構築する必要があると予想していました。

これを解決する方法についていくつかの提案をしたいと思います。

4

0 に答える 0