This page will discuss how to set-up a node that will contribute build to http://mixxx.org/packages/autobuilds/.

The build nodes (also referred to as Private Hudson Instances) are not slaves, but rather independent Hudson instances that publish their info to the Public Hudson instance dashboard (currently found at http://mixxx.org:8080/).

TODO

Ubuntu Linux Prerequisite

Before setting up an Ubuntu Hudson build node, you should follow the steps to make sure you are able to package manually –> see the Packaging page.

Following that you need to:

  1. transfer the .pbuilderrc from your home directory to /var/lib/hudson/.pbuilderrc
  2. chown/chmod it to be readable by the “hudson” user
  3. grant sudo permissions to the “hudson” build user to be able to run pbuilder unattended.

Hudson Config

  • Download hudson (or apt-get install it)
  • Start hudson - either by:
  • Go to Manage Hudson
  • Go to plug-ins, install:
    • SCP
    • SCons
    • Build Publisher
  • After installing those, go to the plug-ins→Advanced tab:
  • You will also need to have bzr-xmloutput (apt-get install bzr-xmloutput or install from https://launchpad.net/bzr-xmloutput/+download)
  • Restart Hudson (every time you install plug-in(s) you have to)
  • Go to Manage Hudson
  • Go to System config
  • Add the following settings (some are not shown for security reasons):

  • ”/home/mixxx/public_html/packages/autobuilds/”

Creating a Build Job

  • From Hudson's main screen select “new job”
  • Select Build a free-style software project for the job type
  • Call the job the name of the arch
  • Add a description (can include HTML markup), I recommend something like this where you include the version, build host, distro info, and a link to where the autobuild will end up:
Mixxx 1.7.0
Built on QNAP-NAS (Ubuntu 9.04 i386)
http://mixxx.org/packages/autobuilds/i386
  • Complete the BZR settings

  • Complete Scons + build params settings (you have to choose “invoke a scons script” and then click on the “Advanced” button to get blanks for these settings) NOTE: These are just an example, your scons args and what packages you upload will vary by build machine and target OS respectively.

  • Tick the box to “Publish artifacts to SCP Repository”
  • Tick the box to “Publish build” (if you want to see builds not over write each other, I suggest using $JOB_NAME/$BUILD_ID instead of just $JOB_NAME in the destination below)

Optional Adding BZR Repo polling

Misc

Installing bzr-xmloutput on OSX running macports

if you run macports you can install bzr-xmloutput like so (there is no port for it atm):

cd /opt/local/lib/python2.5/site-packages/bzrlib/plugins
sudo wget http://launchpad.net/bzr-xmloutput/trunk/0.8.4/+download/bzr-xmloutput-0.8.4.tar.gz
sudo tar -zxvf bzr-xmloutput-0.8.4.tar.gz 
sudo mv bzr-xmloutput-0.8.4 xmloutput

Windows Hudson QMake

  • TortoiseBZR appears to pull proxy settings from IE, so if changing networks be aware that you may not get connectivity for checkouts.
  • Building QMakeBuilder
    • export JAVA_HOME=$(dirname $(dirname $(ls -l /etc/alternatives/javac | cut -d \> -f2))) # on Ubuntu, sets to something like JAVA_HOME=/usr/lib/jvm/java-6-openjdk (depends on your JDK)
    • aptitude install maven2
    • cd qmakebuilder && mvn && cd target && ls qmakebuilder.hpi
 
setting_up_an_auto_build_slave.txt · Last modified: 2010/02/13 05:34 by ironstorm
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki