/cloud-builders

Builder images and examples commonly used for Google Cloud Build

Primary LanguageGoApache License 2.0Apache-2.0

Google Cloud Build official builder images

This repository contains source code for official builders used with the Google Cloud Build API.

Pre-built images are available at gcr.io/cloud-builders/... and include:

  • bazel: runs the bazel tool
  • curl: runs the curl tool
  • docker: runs the docker tool
  • dotnet: run the dotnet tool
  • gcloud: runs the gcloud tool
  • gcs-fetcher: efficiently fetches objects from Google Cloud Storage
  • git: runs the git tool
  • gke-deploy: deploys an application to a Kubernetes cluster, following Google's recommended best practices
  • go: runs the go tool
  • gradle: runs the gradle tool
  • gsutil: runs the gsutil tool
  • javac: runs the javac tool
  • kubectl: runs the kubectl tool
  • mvn: runs the maven tool
  • npm: runs the npm tool
  • twine: runs the twine tool
  • wget: runs the wget tool
  • yarn: runs the yarn tool

Builders contributed by the public are available in the Cloud Builders Community repo.

Each builder includes a cloudbuild.yaml that will push your images to Artifact Registry in addition to Google Container Registry. To build with this default cloudbuild.yaml, you will need to first create a Docker repository to store the images. The provided cloudbuild.yaml assumes your project has set up a multi-region Artifact Registry Docker repositories called ga and that is setup for us, europe, and asia multi-regions (i.e. us-docker.pkg.dev, europe-docker.pkg.dev, asia-docker.pkg.dev).

To file issues and feature requests against these builder images, create an issue in this repo. If you are experiencing an issue with the Cloud Build service or have a feature request, e-mail google-cloud-dev@googlegroups.com or see our Getting support documentation.


Alternatives to official images

Most of the tools in this repo are also available in community-supported publicly available repositories. Such repos also generally support multiple versions and platforms, available by tag.

The following community-supported images are compatible with the hosted Cloud Build service and function well as build steps; note that some will require that you specify an entrypoint for the image. Additional details regarding each alternative official image are available in the README.md for the corresponding Cloud Builder.

Container Registry Deprecation

Google announced on May 15 2023 that Container Registry has been deprecated and is superseded by Artifact Registry. The deprecation won't affect the use of offical cloud builder images. Artifact Registry automatically redirects gcr.io requests for Container Registry hosts to corresponding Artifact Registry repositories.

Future Direction

You may have already noticed that most of the images in this repo now provide notices to the above alternative images. For the hosted Cloud Build service, we are formulating plans surrounding both improved support for existing cloud-builder images and documentation for alternative community-supported images that may be more appropriate for some users. Both this page and the related open issues will be updated with details soon.