Remote Execution Overview
By default, Bazel executes builds and tests on your local machine. Remote execution of a Bazel build allows you to distribute build and test actions across multiple machines, such as a datacenter.
Remote execution provides the following benefits:
- Faster build and test execution through scaling of nodes available for parallel actions
- A consistent execution environment for a development team
- Reuse of build outputs across a development team
Bazel uses an open-source gRPC protocol to allow for remote execution and remote caching.
Remote Execution Services
To run Bazel with remote execution, you can use one of the following:
- Manual
- Use the gRPC protocol directly to create your own remote execution service.
- Self-hosted
- Hosted
- Remote Build Execution, which is a remote execution service from Google. Joining the RBE Alpha Customers group will give you full access to the official documentation. To begin using the service, fill out this short information form.
Requirements for Remote Execution
Remote execution of Bazel builds imposes a set of mandatory configuration constraints on the build. For more information, see Adapting Bazel Rules for Remote Execution.