Skip to content

Commit 39acfc8

Browse files
committed
ci: add Docker layer caching to speed up builds
1 parent cdc2d35 commit 39acfc8

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

cloudbuild.yaml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,30 @@ substitutions:
55
_TOKEN_EXCHANGE_URL: https://auth.mlab-sandbox.measurementlab.net/v0/token/integration
66

77
steps:
8-
# 1. Build the container image
8+
# 1. Pull cached image (if exists) for layer caching
9+
- name: "gcr.io/cloud-builders/docker"
10+
id: PullCache
11+
entrypoint: bash
12+
args: ["-c", "docker pull ${_REGION}-docker.pkg.dev/${PROJECT_ID}/m-lab/${_SERVICE_NAME}:latest || exit 0"]
13+
14+
# 2. Build the container image with cache
915
- name: "gcr.io/cloud-builders/docker"
1016
id: Build
11-
args: ["build", "-t", "${_REGION}-docker.pkg.dev/${PROJECT_ID}/m-lab/${_SERVICE_NAME}:$BUILD_ID", "-t", "${_REGION}-docker.pkg.dev/${PROJECT_ID}/m-lab/${_SERVICE_NAME}:latest", "."]
17+
args: [
18+
"build",
19+
"-t", "${_REGION}-docker.pkg.dev/${PROJECT_ID}/m-lab/${_SERVICE_NAME}:$BUILD_ID",
20+
"-t", "${_REGION}-docker.pkg.dev/${PROJECT_ID}/m-lab/${_SERVICE_NAME}:latest",
21+
"--cache-from", "${_REGION}-docker.pkg.dev/${PROJECT_ID}/m-lab/${_SERVICE_NAME}:latest",
22+
"."
23+
]
1224

13-
# 2. Push to Artifact Registry
25+
# 3. Push to Artifact Registry
1426
- name: "gcr.io/cloud-builders/docker"
1527
id: Push
1628
args: ["push", "${_REGION}-docker.pkg.dev/${PROJECT_ID}/m-lab/${_SERVICE_NAME}:${BUILD_ID}"]
1729
waitFor: ["Build"]
1830

19-
# 3. Deploy to Cloud Run
31+
# 4. Deploy to Cloud Run
2032
- name: "gcr.io/google.com/cloudsdktool/cloud-sdk"
2133
id: Deploy
2234
entrypoint: gcloud

0 commit comments

Comments
 (0)