Building a Go Microservice and Container Image with Bazel
19 May 2020 | Cloud Native Iaşi, On-Line
Bazel is a build system. Bored yet?
Bazel is a build system where you declare your builds in terms of binaries and tests; the library knows all the compiler flags. It produces byte-for-byte identical outputs in a hermetic sandbox, and pins the version of everything including the compiler. It can use remote build farms and caches, and decide that 100k source files don’t need to be rebuilt in 200ms. This isn’t your grandad’s Maven
Bazel is great for DevOps engineers. We SREs should be software engineers, and we should be good ones. Bazel is a useful and interesting software engineering tool that everyone should be at least familiar with.
We’ll run over its design and features, then build a simple Go project up from scratch.