This folder contains artifacts for building a docker container which includes all necessary language toolchains (C++, Java, Python, Go and libraries). This container is the recommended toolchain container for Remote caching and execution with Bazel.
Download and install the Google Cloud SDK, which includes the gcloud command-line tool.
Create a new Google Cloud Platform project from the Cloud Console or use an existing one.
Initialize the Cloud SDK.
gcloud init
Authenticate docker
to talk to gcr.io
by following the instructions here.
Note: currently, this process can only be executed by users who have read access to asci-toolchains's GCR. We publish it here to make the build process for our containers publicly available. You can still build the containers locally. See instructions in the next section.
You will need a valid project ID to build the toolchain-container.
You can build a toolchain-container with ubuntu16-04 as the base container by running:
python container/build.py -p my-project-id -d rbe-ubuntu16_04 -c test-rbe-ubuntu16_04 -t latest -b my-gcs-bucket -v 0.15.2
Congratulations! Your docker container is now available in Container Registry
gcr.io/my-project-id/test-rbe-ubuntu16_04:latest
You can pull the built container to local
gcloud docker -- pull gcr.io/my-project-id/test-rbe-ubuntu16_04:latest
You can also build rbe-ubuntu16-04 container locally to for a quick test. You would need Bazel and Docker installed.
Run the following command:
python container/build.py -l -d rbe-ubuntu16_04
You docker container is now available locally and you can try it out by running:
docker run -it rbe-ubuntu16_04:latest /bin/bash