Jay Taylor's notes

back to listing index

Home - Bazel

[web search]
Original source (bazel.io)
Tags: Google continuous-integration build-pipeline bazel bazel.io
Clipped on: 2016-04-27

Image (Asset 2/2) alt=

{Fast, Correct} - Choose two

Correct, reproducible, fast builds for everyone

Build software of any size, quickly and reliably, just as engineers do at Google.

Bazel is Google's own build tool, now publicly available in Beta. Bazel has built-in support for building both client and server software, including client applications for both Android and iOS platforms. It also provides an extensible framework that you can use to develop your own build rules.

Why Bazel?

Here's what makes Bazel great.

Speed

With Bazel's optimized dependency analysis, advanced caching and parallel execution of build actions, you get fast, clean builds.

Scalability

At Google, Bazel is used by tens of thousands of engineers to build heavy-duty, mission-critical infrastructure services as well as public web applications. But it's great for smaller projects, too.

Flexibility

A comprehensive, built-in set of rules lets you build software for a wide variety of languages and platforms right out of the box. Skylark, Bazel's extensible rule framework, allows you to develop and share your own build rules for other languages and platforms.

Correctness

Bazel examines the content of source files in your dependency graph, not just timestamps, to determine when to rebuild. Because incremental builds are virtually always correct, it's not necessary to run a clean build "just in case" to ensure correctness.

Reliability

When you build software with Bazel, you're running the same code that has been refined and tested over years of use in the engineering environment at Google.

Repeatability

Builds only use input files that are explicitly declared in the build specification. On Linux, Bazel runs tools in a sandboxed environment that contain only the minimum necessary files required. Even tests are run in sandboxes, which ensures predictable, environment-independent results.

Bazel is in Beta

Bazel is in Beta. There are still some functional limitations, but we believe that Bazel is stable enough for production use. See our Support page for information about feature status and releases. The Bazel team monitors and responds actively to bug reports from users.

Get Started

Install Bazel

See our Installation Guide to learn how to download and install Bazel.

Run Bazel

See our Getting Started Guide to learn how to write a BUILD file and run Bazel.

Bazel Commands

See our User Manual to learn about the Bazel command-line tool.

Learn More

Take a look at our documentation and read our FAQ.

© 2015 Google