Category Archives: Build And Deployment Patterns

Build Pattern: Chained Continuous Build 0

One of the problems quickly encountered when any new team adopts a Continuous Build is that builds become slow. Enforcing a Build Time Limit can help, but ultimately if all of your Continuous Build runs as one big monolithic block, there are limits to what you can do to decrease build times. One of the [...]

Build Pattern: Build Time Limit 2

Anyone who has worked in a team which uses a Continuous Build inevitably starts to learn about the cost of a long running build: More time between checkin and a report of a failure Higher chance of Continuous Build containing multiple checkins, increasing the chance of an integration break and complicating rollback Fixing a build [...]

Build Pattern: Movable Checkin Gate 2

The Checkin Gate defines a set of tests which need to pass before a developer checks in. Typically, the tests are a subset of the total test suite – selected to provide a good level of coverage, whilst running in a short space of time. There is an inherent trade-off with a Checkin Gate though [...]

Build Pattern: Build Fix Flag 2

When using a Continuous Integration build, before long you’ll break it. Breaking a build is not a bad thing, however it is typically the team’s top priority to have such a build fixed. Beyond the shame associated with having been named as the breaker, you then have the hassle of lots of people informing you [...]

Build Pattern: Fish-eye Test Suite 4

When running a suite of tests – either as part of a Continuous Integration build, or part of a check-in gate – speed is the enemy. You are always trying to find the balance between test coverage and time to complete the entire suite. Both a check-in gate and continuous integration build have slightly different [...]

Build Pattern: Checkin Gate 4

It’s common practise within a team to define a set of tasks which should be run by each developer prior to checking in. The purpose of the Check-in Gate is to attempt to ensure that all code satisfies some basic level of quality. Like all development standards, a check-in gate helps a team stay on [...]