Before you start
Learn what to expect from this tutorial and how to get the most out of it.
This tutorial discusses the fundamental aspects of Continuous Integration: what it is, why you need it, how it works, even the pace of development in a CI environment. It shows you how to set up a CI process that delivers a repeatable and reliable build process.
You'll learn how to properly configure a CI server to poll an SCM repository and run an Ant build process anytime a change is detected in your source code. You'll also learn how to run automated JUnit tests and how to make the most of both PMD and FindBugs for software inspection. Finally, you'll see for yourself how Hudson, truly a best-of-breed CI server, informs you of issues as they arise, ultimately enabling you to build reliable software more quickly.
This tutorial guides you step-by-step through the fundamental concepts of Continuous Integration using Hudson, Ant, and Subversion as your framework. When you are done with this one-hour tutorial, you will understand the benefits of Continuous Integration as well as how to set up and properly configure Hudson, Ant, and Subversion to work together. The resulting build process will run both tests and software inspections and will report back violations almost as quickly as they occur.
To get the most from this tutorial, you should be familiar with Java™ development in general. This tutorial also assumes that you understand the value of building software with an acceptable level of quality and that you are familiar with JUnit.
A Continuous Integration environment requires an automated build tool, a code repository, and a CI server. To follow along and try out the code for this tutorial, you'll need a working installation of the Java platform as well as Hudson 1.150, Ant 1.7, JUnit 3.8.1, and Subversion 1.4.x.
The recommended system configuration for this tutorial is as follows:
- A system supporting either the Sun JDK 1.5.0_09 (or later) or the IBM Developer Kit forJava technology 1.5.0 SR3 with at least 500 MB of main memory
- At least 20MB of disk space to install the software components and examples covered
The instructions in the tutorial are based on a Microsoft® Windows® operating system. All the tools covered in the tutorial also work on Linux® and Unix® systems.


