blob: e334206399ac03c8fd88862405196e461bcb085b [file] [log] [blame] [view]
michelleirvine25660fb2018-10-05 09:47:51 -07001---
2layout: documentation
Greg Estrenc0816752020-02-20 13:04:29 -08003title: Remote execution overview
michelleirvine25660fb2018-10-05 09:47:51 -07004---
5
Googlera85685a2021-01-08 16:53:49 -08006# Remote Execution Overview
michelleirvine25660fb2018-10-05 09:47:51 -07007
Googler54a96a12020-12-23 16:43:39 -08008This page covers the benefits, requirements, and options for running Bazel
9with remote execution.
10
michelleirvine25660fb2018-10-05 09:47:51 -070011By default, Bazel executes builds and tests on your local machine. Remote
12execution of a Bazel build allows you to distribute build and test actions
13across multiple machines, such as a datacenter.
14
15Remote execution provides the following benefits:
16
17* Faster build and test execution through scaling of nodes available
18 for parallel actions
19* A consistent execution environment for a development team
20* Reuse of build outputs across a development team
21
22Bazel uses an open-source
23[gRPC protocol](https://github.com/bazelbuild/remote-apis)
24to allow for remote execution and remote caching.
25
Greg Estrenc0816752020-02-20 13:04:29 -080026## Remote execution services
michelleirvine25660fb2018-10-05 09:47:51 -070027
28To run Bazel with remote execution, you can use one of the following:
29
Lszl Csomord7e1c122020-04-13 07:23:27 -070030* Manual
michelleirvine25660fb2018-10-05 09:47:51 -070031 * Use the
32 [gRPC protocol](https://github.com/bazelbuild/remote-apis)
33 directly to create your own remote execution service.
Lszl Csomord7e1c122020-04-13 07:23:27 -070034* Self-service
Ed Schoutenceffff92019-02-27 11:18:49 -080035 * [Buildbarn](https://github.com/buildbarn)
michelleirvine25660fb2018-10-05 09:47:51 -070036 * [Buildfarm](https://github.com/bazelbuild/bazel-buildfarm)
37 * [BuildGrid](https://gitlab.com/BuildGrid/buildgrid)
Drew Gassawayd1316a02019-06-03 08:00:56 -070038 * [Scoot](https://github.com/twitter/scoot)
Lszl Csomord7e1c122020-04-13 07:23:27 -070039* Commercial
daroberts7ea8f442020-04-30 08:39:01 -070040 * [EngFlow Remote Execution](https://www.engflow.com) -- Remote execution
41 and remote caching service. Can be self-hosted or hosted.
Siggi Simonarson9fa5cb32020-08-03 13:43:57 -070042 * [BuildBuddy](https://www.buildbuddy.io) -- Remote build execution,
43 caching, and results UI.
tatianaf1a4cdb2020-12-13 23:17:36 -080044 * [Flare](https://www.flare.build) -- Providing a cache + CDN for Bazel
45 artifacts and Apple-focused remote builds in addition to build & test analytics.
michelleirvine25660fb2018-10-05 09:47:51 -070046
Greg Estrenc0816752020-02-20 13:04:29 -080047## Requirements
michelleirvine25660fb2018-10-05 09:47:51 -070048
49Remote execution of Bazel builds imposes a set of mandatory configuration
50constraints on the build. For more information, see
Jingwen Chen0f4544d2018-12-14 16:28:16 -080051[Adapting Bazel Rules for Remote Execution](remote-execution-rules.html).