Getting Started With Bazel
Published by O'Reilly Media, Inc.
An introduction to automated builds for Java-based projects
One of the newer players in the build tool field is Bazel, the open source variant of Google’s powerful internal build tool Blaze. After years of refinement, the first production-ready version, Bazel 1.0, was released in October 2019. Is this tool right for your organization?
Join expert Benjamin Muschko to explore the use cases, features, and usability concerns of Bazel, including its benefits and shortcomings. You’ll get a taste of Bazel’s syntax and functionality with some concrete Java-based examples and then look at advanced features like remote caching and execution. You’ll engage in some hands-on exercises aimed at helping you determine whether Bazel is a good fit for your organization, and you’ll come away with the knowledge and resources to start using this versatile, polyglot build tool for your project.
What you’ll learn and how you can apply it
By the end of this live online course, you’ll understand:
- How to automate typical tasks of a Java project
- The basic concept of the build tool Bazel
And you’ll be able to:
- Set up a Java-based project, compile the source code, and run the application
- Define dependencies on other packages and external libraries
- Perform automated tests for Java test code
This live event is for you because...
- You’re a Java developer who wants to automate your project.
- You work with another build tool and want to evaluate Bazel’s fit for your project.
Prerequisites
- A computer with Bazel installed
- A GitHub account
- A basic understanding of the Java programming language
- Hands-on experience with common Java frameworks and dependencies
- Experience with build tools like Ant, Maven, or Gradle
Recommended preparation:
- Read “Implementing a Testing Strategy” (chapter 4 of Continuous Delivery: - Reliable Software Releases Through Build, Test, and Deployment Automation)
Recommended follow-up:
- Finish reading Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation (book)
- Read Getting Started with Bazel (report)
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Introducing Bazel for Java (55 minutes)
- Presentation: What is Bazel and why should I use it?
- Group discussions: Bazel quickstart; setting up a Java project and building it; driving Bazel from the IDE
- Hands-on exercises: Build a “Hello World” Java project; install and use Bazel IDE support
- Q&A
- Break
Dependency management and automated testing (55 minutes)
- Presentation: Understanding dependencies in Bazel; executing automated tests; the outlook on other Bazel features
- Hands-on exercises: Declare and use external dependencies; declare test dependencies and execute tests
Wrap-up and Q&A (10 minutes)
Your Instructor
Benjamin Muschko
Benjamin Muschko is a software engineer, consultant, and trainer with more than 20 years of experience in the industry. He specializes in cloud-native application development and transformation, container solutions, DevSecOps, and Continuous Integration/Continuous Delivery implementations. Ben is an author, a frequent speaker at conferences, and an avid open source advocate.