I want to use the Bazel build tool to create my artifacts on the pipelines. What would be the best way to install and use bazel in the pipelines so I can have cached builds? Has anyone ever got it to work?
Hi Victor,
For running and install Bazel, you can do so similar as in a normal Bash environment. You can also use a Docker image from DockerHub that already has Basel installed. There are currently no official Bazel images, so you will need a community created one.
Documentation on configuring Docker images: https://confluence.atlassian.com/bitbucket/use-docker-images-as-build-environments-792298897.html
For caching, you configure specific directories to be cached. So in this case, you can use cache directories from Bazel.
Bazel provides some documentation on default caches here: https://docs.bazel.build/versions/master/output_directories.html
Pipelines Cache documentation can be found here: https://confluence.atlassian.com/bitbucket/caching-dependencies-895552876.html
Thanks,
Phil
I got bazel to work in a pipeline and reuse the cached arifacts. Caching the default ~/.cache/bazel directory didn't work for me (complained about corrupt installation on repeated builds), but using --disk_cache flag did. Something like the following:
image: name: l.gcr.io/google/bazel:3.4.1pipelines: default: - step: caches: - bazel script: - bazel test --disk_cache=~/.cache/my-bazel //...definitions: caches: bazel: ~/.cache/my-bazel
It looks like you're new here. Sign in or register to get started.