|
HudsonJenkins is an extensible continuous integration server. You can have a look at [http://stendhal.game-hoststendhalgame.org/hudsonjenkins/ our HudsonJenkins server] with several build jobs for Stendhal, Marauroa and Marboard.
<div style="border: 1px solid red; padding: 1em">The rest of this article deals with the installation and configuration of HudsonJenkins. If you are just interested in the results, please follow this link to [http://stendhal.game-hoststendhalgame.org/hudsonjenkins/ our HudsonJenkins server] above.
</div>
==Installation==
To install and run HudsonJenkins you just need to download the hudsonjenkins.war from the hudsonJenkins web site and have java ready. To start the server you need a small start script that issues the following command:
java -jar hudsonjenkins.war
Once the hudsonjenkins is started, you can reach the user interface via your favourite browser if you open the following URL (assuming you have hudsonJenkins on the same machine as your browser):
http://localhost:8080
If you see the hudsonJenkins interface loading, you have successfully installed hudsonJenkins.
==Configuration for Stendhal==
To let hudsonJenkins build stendhal you have to match the following prerequesites:
* ANT installed on the same system
* JDK1.5 installed (already matched if you were successfully running hudsonJenkins, as it needs java to run)
* CVS-Client installed
For our hudsonJenkins we installed several plugins via the hudsonJenkins configuration. You can see what each plugin does, if you have a look at our hudsonJenkins or look onto the wiki at the hudsonJenkins homepage. This list is not complete, as we still experiment with some of the plugins.
* [http://wiki.hudsonjenkins-ci.org/display/HUDSONJENKINS/Audit+Trail+Plugin Audit Trail]
* [http://wiki.hudsonjenkins-ci.org/display/HUDSONJENKINS/Checkstyle+Plugin Checkstyle Plugin]
* [http://wiki.hudsonjenkins-ci.org/display/HUDSONJENKINS/Cobertura+Plugin HudsonJenkins Cobertura plugin]
<!--* [http://hudsonjenkins.gotdns.com/wiki/display/HUDSONJENKINS/Crap4J+Plugin HudsonJenkins Crap4J plugin]-->
<!--* [http://wiki.hudsonjenkins-ci.org/display/HUDSONJENKINS/Emma+Plugin HudsonJenkins Emma plugin]-->
* [http://wiki.hudsonjenkins-ci.org/display/HUDSONJENKINS/Emotional+HudsonJenkins+Plugin Emotional HudsonJenkins plugin]
* [http://wiki.hudsonjenkins-ci.org/display/HUDSONJENKINS/FindBugs+Plugin FindBugs Plugin]
* [http://wiki.hudsonjenkins-ci.org/display/HUDSONJENKINS/Task+Scanner+Plugin Task Scanner Plugin]
* [http://wiki.hudsonjenkins-ci.org/display/HUDSONJENKINS/Warnings+Plugin Warnings Plugin]
* [http://wiki.hudsonjenkins-ci.org/display/HUDSONJENKINS/Green+Balls Green Balls]
* [http://wiki.hudsonjenkins-ci.org/display/HUDSONJENKINS/Claim+Plugin Claim Plugin]
* [http://wiki.hudsonjenkins-ci.org/display/HUDSONJENKINS/The+Continuous+Integration+Game+plugin The Continuous Integration Game plugin]
In the main configuration you have to tell hudsonJenkins where it can find all necessary things.
At every configurable point is a small help to tell what to configure here.
===Build Trigger===
Here you configure, when a build is started. Our current way of triggering builds is triggered from CVS at a certain time. This means not, the CVS tells hudsonJenkins to start a build, but it tells hudsonJenkins to check regularly the CVS for changes and builds, when there were commits since last build.
You also can start build at certain times not regarding changes since last build.
===Build Steps===
To build Stendhal with hudsonJenkins, we just execute three targets from the standard build.xml included in stendhal source code. We let hudsonJenkins first call ''clean run_tests_with_cobertura''. This first cleans the workspace and starts a complete build including coverage measurement. Afterwards we start ''java_doc'' which generates a fresh api documentation from stendhal.
===Post Build Processing===
|