The Drizzle Hudson dashboard can be found at Hudson dashboard.
How to set up a new build slave
Execute the following steps on the slave machine. Note that the Hudson server must be able to ssh to the build slave
- Create a new user to run the builds as. For example the new user "hudson" on Linux:
sudo useradd -c "Hudson" -d /home/hudson -m -s /bin/bash hudson
To create a new user on Solaris
pfexec useradd -c "Hudson" -d /export/home/hudson -g staff -s /bin/bash -P "Primary Administrator" -A "solaris.*" hudson
- Create a keyed authentication for the hudson user, creating
$HOME/.ssh/authorized_keys
su - hudson
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEArULdwPmFGIDRDun6Ys6XFWU1XK9XWwOxKfKabzwpzAllLwOgpqVDX0GmKp0uIZU/ruMIrPq8+9XoZyA7Xp+8npi/lNlLWGI76iDifeA7KU960fSk7zoioYoOQBtymgBap2/Duul2H+etZtPXwgf0lfU5iAwoo2FOFlWGMlBvxAs= Hudson running on hudson.drizzle.org" > ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
- Make sure all build dependencies are installed
- Make sure Java is installed and in your path
- Send email to drizzle-builds@lists.launchpad.net with the user name and hostname.
- Also indicate if you want to be included on email notifications for build failures.
- The drizzle team will then take care of the steps outlined below.
Adding a node to the Drizzle infrastructure
- Log into hudson.drizzle.org and change user to hudson.
- Execute the following command, and verify that it works without typing any passwords (if you are prompted for a password you need to look at your client to figure out why...)
ssh username@machinename ls
- Log in with administration privileges to Hudson dashboard and go to "Manage Hudson" > "Manage Nodes" > "New Node"
- Give the node a name, select "Copy from existing node" and tell it to copy from Drizzle-orisndriz01.
- Change the description, and possibly the remote FS root.
- Make sure the launch method is "Launch slave agents on Unix machines via SSH"
- Click the Advanced button
- Make sure /var/lib/hudson/.ssh/id_rsa is in the Private Key file slot, and ensure that the other values are correct.
- Set the following environment variables:
- "MAKE=make" except on FreeBSD and Solaris set to "MAKE=gmake"
- MAKE_J=-j{the number of processor cores on the machine}, for example: "MAKE_J=-j16"
Adding a job to the Drizzle infrastructure
- Copy an existing job and tie it to the node or group you want to build with.
- A few good examples are this debug build, this distcheck build and this build/test with parameters example
- Note that most jobs will use drizzle-template and define build parameters
Param Builds
Go to http://hudson.drizzle.org/view/Drizzle-param/job/drizzle-param/, and select "Build Now". Hudson will then prompt you to enter your branch name that you wish to run and verify. See Monty's blog for more details.
How to restart Hudson
First, in hudson, go to "Manage Hudson" and select "Prepare for Shutdown". This will prevent hudson from starting any new builds.
Wait for hudson to finish any outstanding builds.
On hudson.drizzle.org, execute:
sudo /etc/init.d/hudson restart
Hudson log is in /var/log/hudson/hudson.log
Basic configuration starts from /etc/default/hudson, which should show where everything goes.
Upgrading Hudson
- At http://hudson.drizzle.org/manage select "Prepare for Shutdown" and wait for all Hudson jobs to complete
- sudo apt-get update
- sudo apt-get --dry-run install hudson (to see what will be upgraded)
- sudo apt-get install hudson