Version 0.5
Copyright © 2008 -2009 Lars Vogel
02.02.2010
| Revision History | ||
|---|---|---|
| Revision 0.1 | 27.12.2008 | Lars Vogel |
| First draft of article | ||
| Revision 0.2 | 26.02.2009 | Lars Vogel |
| Continued the work | ||
| Revision 0.4 | 01.02.2010 | Lars Vogel |
| Continued the work | ||
| Revision 0.5 | 02.02.2010 | Lars Vogel |
| Added SCM | ||
Table of Contents
Continuous integration is a process in which all development work is integrated at a predefined time or event and the resulting work is automatically tested and build. The idea is that development errors are identified very early in the process.
Hudson is one open source tool to perform Continuous Integration. The basic functionality of Hudson is to monitor a SCM (Source Control System) and if changes occurs to start and monitor a build system (for example Apache Ant or Maven). Hudson will monitor the whole process and provide reporting functionality and notification functionality to report success or errors.
Hudson can be extended by additional plugins.
To use Hudson you need:
An accessible source code repository, e.g. subversion, with your code checked in.
A working build script, e.g. ant script, checked into the respository
A webapplication server, e.g. Tomcat, to run Hudson
Install Tomcat. See Apache Tomcat Tutorial.
For the usage of Hudson you need to setup Apache Ant as a build tool. See Using Apache Ant for details.
Download the "hudson.war" file from Hudson Homepage and put the it into your Tomcat "webapps" directory. If you start Tomcat your Hudson installation should be available under "http://localhost:8080/hudson/".
Before using hudson you need to tell it where your JDK and ant installation is. Go to Hudson under "http://localhost:8080/hudson/" and click "Manage Hudson" and then "Configure System"

Maintain the correct path to your JDK and Ant installation and press "Save" below.

See Hudson FAQ for a description how to configure the http proxy for svn in Hudson.
Hudson supports out of the box subversion and cvs but you find Hudson connectors for almost every SCM system.
The following will use svn as an example. You specify the svn URL during project setup.
Select "New Job" and select "Freestyle Job".

Select "subversion" and maintain your svn URL. The system will give an error message that you need to maintain the credential. Click on the link and maintain your user and password.
Before posting questions, please see the vogella FAQ. If you have questions or find an error in this article please use the www.vogella.de Google Group. I have created a short list how to create good questions which might also help you.
http://www.vogella.de/code/codejava.html Source Code of Examples
https://hudson.dev.java.net/ Homepage of the Hudson continuous integration engine
http://it-republik.de/jaxenter/artikel/Die-RCP-Anwendung-am-laufenden-Band-1306.html PDE Build description (German)
www.eclipse.org/pde/pde-build Eclipse PDE/Build
http://www.eclipse.org/articles/Article-PDE-Automation/automation.html Build and Test Automation for plugins and features
http://rcpquickstart.com/2007/06/06/getting-started-with-pde-build/ Getting started with PDE/Build
http://aniefer.blogspot.com/2008/06/example-headless-build-for-rcp-product.html