0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Google Cloud Build で cache: true 設定が引き起こす問題と対策

Posted at

はじめに

Google Cloud Build では、ビルドの高速化のためにキャッシュ機能が提供されています。
cloudbuild.yaml において cache: true を設定することで、過去のビルド結果を再利用し、ビルド時間の短縮が図られます。
しかし、同じタグでイメージを更新するようなイメージを使用している場合、このキャッシュ機能が予期しない動作を引き起こすことがあります。

例)

解決方法

1. キャッシュを無効にする

キャッシュを使用しない設定を行うことで、常に最新のビルド結果を取得できます。以下のように cache: false を設定します:

steps:
  - name: 'gcr.io/cloud-builders/docker'
    args: ['build', '-t', 'your-image:latest', '.']
    cache: false

これにより、毎回キャッシュなしでビルドが行われ、最新の内容が反映されます。

2. タグにユニークな識別子を付与する

コミットハッシュやビルド番号などのユニークな識別子をタグに付けることで、キャッシュの再利用を防ぎます。例えば、latest の代わりに以下のようにタグを設定します:

steps:
  - name: 'gcr.io/cloud-builders/docker'
    args: ['build', '-t', 'your-image:${COMMIT_SHA}', '.']

これにより、毎回異なるタグが付けられ、キャッシュが無効化されます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?