This is essentially the original manual approach to continuous integration and is recommended over automated CI servers in both Extreme Programming Explained 2nd Edition as well as the upcoming The Art of Agile Development
http://www.jamesshore.com/Blog/Continuous-Integration-on-a-Dollar-a-Day.html
What do people like
- Prevents checkout of broken code
Key differentiators (according to James Shore)
- The code in revision control always builds and passes tests. Period.
- If something goes wrong, you know what the problem is. It's either your code (failed step A), integration with somebody else's code (failed step C), or environmental changes (failed step E). You find out right away, making fixing it a lot easier.
- You'll never have to fix somebody else's broken build because they've left for lunch without waiting for CruiseControl to finish up.
- You'll keep your build times down (nothing like painfully long integrations to motivate change), which will mean better tests, which will lead to better design.
References
CruiseControl is a traffic cop: it doesn't help you follow the rules; it just tells you when you've broken them. If the team does their job, and never breaks the build, you'll never hear from CruiseControl.
– "Why I don't like CruiseControl", Successful Software, 9 April 2005
Comments