Skip to content

Build: gcp-devops

gcp-devops is the base stage plus a Google Cloud layer. It has no AWS tooling.

flowchart LR
  B["base"] --> L["gcp-devops layer<br/>Google Cloud SDK tarball,<br/>beta, docker-credential-gcr,<br/>gke-gcloud-auth-plugin"]
  L --> I["gcp-devops:local"]

  classDef base fill:#0891b2,stroke:#0e7490,color:#fff
  classDef gcp fill:#2563eb,stroke:#1d4ed8,color:#fff
  class B base
  class L,I gcp

Build

docker build --target gcp-devops -t gcp-devops:local .

GCLOUD_VERSION picks the SDK release (default 501.0.0; CI uses a newer one from a repository variable). The tarball is downloaded for the build architecture, so the version must exist for both x86_64 and arm if you build multi-platform.

docker build --target gcp-devops --build-arg GCLOUD_VERSION=501.0.0 -t gcp-devops:custom .

Verify

docker run --rm gcp-devops:local bash -c '
  gcloud --version && gke-gcloud-auth-plugin --version &&
  kubectl version --client && helm version --short'

Run

docker run -it --rm \
  -v "$PWD":/srv -w /srv \
  -v ~/.config/gcloud:/root/.config/gcloud \
  -v ~/.kube:/root/.kube \
  gcp-devops:local

See Using gcp-devops for everyday usage, including GKE.