Resistance to Implementing CI

Much of the resistance to implementing CI has to do with increased cost in terms of time, money, or both. Some has to do with retrofitting CI onto a system not designed to support it. In most cases, the benefits outweigh the costs; however, being aware of the arguments against CI will help prepare you to convince management it’s a good idea.

CI Requires Extra Hardware

As discussed earlier in the section Dedicated Build Servers,” CI works best with a powerful computer dedicated to performing builds and all the associated tasks. Although CI can be implemented without a dedicated build server, the benefits generally outweigh the costs of extra hardware, even when the machine is a very powerful (i.e., expensive) one. Even so, there are at least two ways to get started with CI on something less than the biggest, fastest machine on the market: piggyback on an existing server or use a less powerful machine that no one wants.

Piggybacking on an existing server or shared computer, such as a test machine or an underutilized web server, is a quick way to implement CI. Such machines are often already running the typical deployment environment, so you only have to load the CI-related software. When following this approach, the more stable the environment, the better. A server whose configuration is changed often will lead to inconsistent build results.

Implementing CI on a less powerful machine—perhaps one left over from the last time the development machines were upgraded—provides ...

Get The Art of Lean Software Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.