Continuous integration

Yet another article (this time by Martin Fowler) preaching on the benefits of continuous integration. For those of you not familiar with it, it's a software development principle that says you must have an automated build process that verifies the functionality of the source code several times a day. So, at all times, code in your source control must compile and must pass the predefined simple tests (like the application must start properly etc.). If it stops passing, recent changes get backed out until your build works again.
It was only couple of years ago when I first heard about continuous integration – and was shocked. "Not everybody is doing this already? Duh." For me, having a continuously working build of the source has always been a natural approach, and working on Bugzilla (and with Mozilla project's autobuild tools such as Tinderbox and Bonsai) just strengthened the habit.
Even if you don't have an automated build process, get rid of the separate concept of "integration". Every time you check in to your repository, make sure your build works. With a small team, it works pretty well even without the automation as long as everybody is feeling responsible and checks in some code every day. And if you haven't read anything on continuous integration yet, go check out Martin's article. It's good, even though it contains little new for those already familiar with the concepts.

August 16, 2004 В· Jouni Heikniemi В· No Comments
Posted in: Misc. programming

Leave a Reply