Java Reference
In-Depth Information
Figure 11.9
Hudson build results
easy to do. But the nicest thing is that the web interface is intuitive. That's why we
don't cover Hudson in detail. Another reason for this is that Hudson is currently
undergoing rapid development. It's a mature project with a large community of devel-
opers who constantly improve the codebase. From that point of view, it'll be interest-
ing to see how the project will evolve in time.
11.4
Benefits of continuous integration
In general, the software tests are there to help you find your own errors. You exe-
cute the unit tests every time you make any changes on the code you develop. This
way, they cover your back and will alert you whenever you introduce a new bug into
the system.
The continuous integration servers have exactly the same purpose: they cover your
back and alert you the moment you break the integration with the other modules of
the system. And because you can't run the CI tools manually every time you make a
small change in the system, they run on a separate host and try to continuously inte-
grate your software. But again, they protect you and will alert you to a change that
breaks the integration.
We've heard many excuses from people as to why you shouldn't use CI tools, and
the winner is this one: “I don't see the profit in using it.” And usually this comes from
people who've never used a CI server.
We all make errors—face it! You and we, and everybody else—it's human to err.
And no matter how good you are, you'll sometimes make a mistake and introduce a
bug into the system. Knowing this, it seems reasonable to have something notify you
when those errors occur. The software tests and CI tools are exactly this. Once you start
using a CI tool, no matter which one—CruiseControl or Hudson or anything else—
you'll see how good it is to know that something is watching your back and that an
empty mailbox means that nothing is broken.
 
 
 
 
Search WWH ::




Custom Search