Build Pipelines and Build Lifecycles

Build Pipeline Basics

One of the hot ideas in the continuous integration space is the idea of a build pipeline. The idea of a build pipeline or staged build has been around for some time. To keep the build fast, include only a minimum amount of stuff outside the compile and link phases. After build notifications have gone out, run secondary tests to more throughly examine the build. The idea is to provide rapid, useful feedback on build health while still regularly running slower processes.

What should be kept in the fast commit-time build? Generally things that would warn a developer that the code base is too troubled to integrate into (compilation errors are the classic example) or tests that provide a large amount of information very quickly. Often, an arbitrary time line of five or ten minutes is selected as a maximum commit build length to sharpen this distinction. Continue reading