CI is great when you do not have the time or resources to oversee the build pipeline 24x7. However, and this is a huge HOWEVER… just like NoSQL did not actually make the DBA obsolete; continuous integration did not make the build custodian obsolete either.
Peter Leschev, of Atlassian, made the following statements in a presentation “Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infrastructure as Code” (link):
- Less Human Interaction + More automation = Higher confidence
- Less Human Effort = Increased frequency of releases
These two statements are probably correct or true in some or even most cases. And here is the however; what is the cost when things go wrong? The bigger the build system the more complicated it can get. But even in the most general and simple CI systems. What is a down state going to cost you? How are you going to call at 3am? Do enough devs know enough to be considered a build SME so that their patches will demonstrate “production-like discipline”? Some call it FUD but others, who have been there, know it’s a sad reality.