FreeWRTs Snapshotbuilder

Hudson was chosen as continuous integration engine, because it is able to work with svn and also supports running normal shell scripts. This means that we only need to install Hudson, define how Hudson can get the source and how Hudson can build the source. Quite easy... FreeWRT Snapshotbuilder

Installation

Requirements

* java5-jdk * tomcat5.5 (only needed if we want support login for more than one user)

On flyingfish this results in doing:

apt-get install sun-java5-jdk
apt-get install tomcat5.5

Downloading and deploying Hudson

Download latest Hudson release and put the war file into tomcats webapps folder, which is on flyingfish at:

/var/lib/tomcat5.5/webapps

NOTE: If only Hudson is running in tomcat you can remove all stuff in webapps folder and rename hudson.war to ROOT.war.

Configuration

In order to get Hudson working on flyingfish we need to disable Java Security stuff and add a line to /etc/init.d/tomcat5.5.

* change TOMCAT5_SECURITY to no * add following lines after export JAVA_HOME

# hudson
CATALINA_OPTS="$CATALINA_OPTS -DHUDSON_HOME=/home/snapshot/"

Start tomcat :)

User Management

If you want to support multiuser access to Hudson, you only need to change /var/lib/tomcat5.5/conf/tomcat-users.xml . If you want to add an other Hudson admin you need to add the following line.

  <user username="username" password="secretpassword" roles="admin"/>

In order to enable user authentication you need to check "Enable security" in "Manage Hudson" -> "System Configuration".

Manage FreeWRT Snapshots

To be written...