公式ドキュメントにもしっかりあるし、みんなデフォルトでやってるかもしれないけど、すごく早くなったのでご紹介。
ビルドを高速化する際のおすすめの方法 | Cloud Build のドキュメント | Google Cloud
今まではCloud BuildでCloud Runにデプロイするときにでdockerイメージをbuildするところを下記のようにしてたんですが、
  - id: Build
    name: gcr.io/cloud-builders/docker
    args: ['build',
           '-t', 'asia.gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA',
           '-t', 'asia.gcr.io/$PROJECT_ID/$REPO_NAME:latest',
           '.',
           '-f', 'Dockerfile']
そこの前に下記のように前回最後にbuildしたイメージを取ってくるようにして、build時に--cache-fromを入れると良い感じに前回のイメージを使ってくれる。
  - id: Fetch
    name: gcr.io/cloud-builders/docker
    entrypoint: 'bash'
    args: ['-c', 'docker pull asia.gcr.io/$PROJECT_ID/$REPO_NAME:latest || exit 0']
  - id: Build
    name: gcr.io/cloud-builders/docker
    args: ['build',
           '-t', 'asia.gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA',
           '-t', 'asia.gcr.io/$PROJECT_ID/$REPO_NAME:latest',
           '--cache-from', 'asia.gcr.io/$PROJECT_ID/$REPO_NAME:latest',
           '.',
           '-f', 'Dockerfile']
24分ぐらいかかってたのが4分になって嬉しい。
