Build Engineer Bootcamp: Builds As Code

room: Grand Ballroom F — time: Wednesday 14:00-14:45, Wednesday 14:45-15:30, Wednesday 16:00-16:45, Wednesday 16:45-17:30
Level: Introductory

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.

Process/Mechanics

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 (me@pauljulius.com) is one of the CruiseControl project originators. Jeffrey (jtf@jeffreyfredrick.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.

Learning outcomes
  • How to create machine independent builds
  • How to provide simple bootstrapping for a developer workspace
  • Refactoring to common build infrastructure
  • Establishing unified project metrics
Featured participants
Primary target persona
Bob, Builder - Not very long ago I just had to type "make" and copy the compiled project up to the network. But our company moved to agile and I feel like I am becoming the bottleneck for our teams. They want to build more frequently and not just on the official build machine. I am in the automation hotseat and need the skills to handle a wide range of demands while creating a reliable infrastructure the entire team can depend upon.