/cloud-build-local

Local Builder runs Google Cloud Build builds locally, allowing faster debugging, less vendor lock-in, and integration into local build and test workflows.

Primary LanguageGoApache License 2.0Apache-2.0

This project is archived and no longer supported, developed, or maintained.

The code remains available for historic purposes.

The README as of the archival date remains unchanged below for historic purposes.


Google Cloud Build Local Builder

Local Builder runs Google Cloud Build locally, allowing easier debugging, execution of builds on your own hardware, and integration into local build and test workflows. Please note that the Local Builder is not 100% feature-compatible with the hosted GCB service.

NOTE: The Cloud Build local builder is maintained at best effort as a local debugging tool for Cloud Build. It does not support 100% feature parity with the hosted Cloud Build service and should not be used for production workloads.


Prerequisites

  1. Ensure you have installed:

  2. If the build needs to access a private Google Container Registry, install and configure the Docker credential helper for Google Container Registry.

  3. Configure your project for the gcloud tool, where [PROJECT_ID] is your Cloud Platform project ID:

    gcloud config set project [PROJECT-ID]
    

Install using gcloud

  1. Install by running the following command:

    gcloud components install cloud-build-local
    

    After successful installation, you will have cloud-build-local in your PATH as part of the Google Cloud SDK binaries.

  2. To see all of the commands, run:

    $ cloud-build-local --help
    

    The Local Builder's command is $ cloud-build-local.

Download the latest binaries

The latest binaries are available in a GCS bucket.

Download the latest binaries from GCS.

To run a build:

./cloud-build-local_{linux,darwin}_{386,amd64}-v<latest_tag> --dryrun=false --config=path/to/cloudbuild.yaml path/to/code

Developing and contributing to the Local Builder

See the contributing instructions.

Limitations

  • Only one build can be run at a time on a given host.
  • The tool works on the following platforms:
    • Linux
    • macOS

Support

Our documentation has a page on getting support. If you have general questions about Local Builder or Cloud Build, you can file issues here on GitHub, or see: