Giter Site home page Giter Site logo

dmw007 / bazel-buildfarm-docker Goto Github PK

View Code? Open in Web Editor NEW
9.0 3.0 7.0 17 KB

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

License: GNU General Public License v3.0

Dockerfile 100.00%
bazel bazel-build docker docker-compose devops

bazel-buildfarm-docker's Introduction

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.

bazel-buildfarm-docker's People

Contributors

dmw007 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.