Continuous Integration: Improving Software Quality and Reducing Risk
I've recently read Continuous Integration: Improving Software Quality and Reducing Risk. It covers nicely the what, how and why of Continuous Integration (CI) - the practice of setting a build system such as Cruise Control, with a full build - and usually tests - whenever something on the project source code changes.
The most important reason is that your project is always ready to go, and with good tests, you can quickly get feedback on anything that breaks them right after you add the problem.
Of course, I'd say CI is much more important to web apps/services and teams than sole software developers such as me.
I do use a build system, Visual Build. I only run a full build with it on shipping a new version, however. I have it set up to build the EXE, run a few tests (WAY too few...), protect it, generate the web pages and RSS feed, build the install, and send all that...
It was a major effort to set it up, but it did change my checklist from about 30 items to just a few that either can't be automated (sending to major download sites that don't use PAD files, running Robosoft, etc) and/or that I'd really rather not automate (sending e-mail to my lists on new versions).
It does have some CI support, too, which I didn't realize until after reading the book.
The most important reason is that your project is always ready to go, and with good tests, you can quickly get feedback on anything that breaks them right after you add the problem.
Of course, I'd say CI is much more important to web apps/services and teams than sole software developers such as me
I do use a build system, Visual Build. I only run a full build with it on shipping a new version, however. I have it set up to build the EXE, run a few tests (WAY too few...), protect it, generate the web pages and RSS feed, build the install, and send all that...
It was a major effort to set it up, but it did change my checklist from about 30 items to just a few that either can't be automated (sending to major download sites that don't use PAD files, running Robosoft, etc) and/or that I'd really rather not automate (sending e-mail to my lists on new versions).
It does have some CI support, too, which I didn't realize until after reading the book.
Comments