Build Engineer Bootcamp: Builds As Code
Bad build practices take a hidden toll on teams. It is not uncommon for a new developer to take days or even weeks to establish a functioning workspace. Good build engineers can make all the difference. By treating the build framework with the same respect as other source code they can help prevent these problems. In this clinic we will show how to refactor your build approach to end up with sustainable practices that get new people up and running quickly and set the stage for long term productivity. While the workshops are in Ant, the concepts are portable.
The bulk of this clinic will be run as a series of 30 minute hands-on lessons, where every student will be invited to complete a particular assignment. At the end of the 30 minutes, the instructors will demonstrate assignment completion and discuss. Prior to beginning the lessons, the instructors discuss the topic in some detail and encourage audience participation to get a feel for the current level of experience. By the end of the session, the students will have refactored an existing suboptimal build framework into one that demonstrates the principles being discussed, all running on their laptops.
This session focuses on 4 primary workshops:
- Machine Independence
- Portability/Boostrapping (committing all tools to source control)
- Adding Static Checking
- Adding Static Metrics
This session focuses on those developers that have been given the task of taking on the build automation responsibilities and are new to the topic, but probably have some experience with Ant builds. This session will also be of interest to experienced developers who have felt the pain of a bad build environment.
We expect that some attendees will just work on the prepared exercises while others will be seeking advice and support on their own build scripts.
Paul (firstname.lastname@example.org) is one of the CruiseControl project originators. Jeffrey (email@example.com) was an early user of the project and has been a long time committer. They work together through their joint effort, http://the.ci-guys.com. The material included in this session is scaled down from their 3 day intensive Build Engineering Bootcamp.
- How to create machine independent builds
- How to provide simple bootstrapping for a developer workspace
- Refactoring to common build infrastructure
- Establishing unified project metrics