Skip to content

Run bazel-buildfarm master and worker on Docker (Compose), optional with proxy support.

License

Notifications You must be signed in to change notification settings

DMW007/bazel-buildfarm-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bazel-Buildfarm on Docker

Run bazel-buildfarm master and worker nodes on Docker (Compose). Supports MITM-proxys for corporate usage.

Get started

The default docker-compose.yml file creates one master server with one worker. It uses example configurations from bazel-buildfarm with adjusted hostnames. You can find and modify them in the config directory. If proxy support is required or you need a different Bazel version, see the build paramters above.

To build and start the containers, just run

docker-compose up --build

Build arguments

Name Default Description
BAZEL_VERSION 1.1.0 Version of bazel to use
PROXY (Empty) Set it to http://<user>:<password>@<proxyserver>:<port> if proxy usage is required for internet access.
JAVA_KEYSTORE /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts Keystore used for Bazel - All certificates in proxy-certs/*.crt are added to this store. You usually don't need to change it.
JAVA_KEYSTORE_PASSWORD changeit Password of JAVA_KEYSTORE

Use build arguments

In docker-compose, you pass them like this to the corresponding container:

services:
  server:
    build:
      context: .
      args:
        PROXY: "http://<user>:<password>@<proxyserver>:<port>"

Configuration

Behind a proxy

If you're behind a (corporate) proxy, specifiy the build argument PROXY as described above. When the proxy breaks encrypted traffic using MITM, the root certificiate is also required. Save the root certificate with .crt extension in the proxy-certs folder. The name doesn't matter. All files ending with .crt are added to the key store of the OS as well as Java's store.

Important Please make sure that the folder proxy-certs exists and contains at least one file. The default README from our repo is enough. This is also required when you don't want to use a proxy since docker can't conditionally copy files. For this reason we always copy the content if proxy-certs to support proxy users, too.

About

Run bazel-buildfarm master and worker on Docker (Compose), optional with proxy support.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published