Jump to: navigation, search

Common Build Infrastructure/Virtual Server Setup/Fedora

Create virtual server image

  • create 30G extensible virtual disk for use with Virtual Box
  • allocate 256M vram or more
  • you may see java.io.IOException: error=12, Cannot allocate memory when running tests
  • install Fedora from network install image (130M mounted .iso)
  • unmount .iso image; mount Virtual Box additions image instead
  • restart when prompted

Install software

  • right-click empty desktop and find
Applications > System Tools > Thunar File Manager
Applications > System Tools > LXTerminal (or Terminal)
Applications > Programming > Eclipse
  • fire up Thunar, mount VBOXADDITIONS drive
  • open a terminal, run as root
yum install -y yum-fastestmirror 
yum install -y kernel kernel-devel kernel-headers
cd /media/VBOXADDITIONS*; ./VBoxLinuxAdditions-x86.run
  • fire up Thunar, unmount VBOXADDITIONS drive
  • open a terminal, run as root
yum install -y ant-contrib
file /usr/share/java/ant-contrib.jar
  • open a terminal, run as root
yum install -y java-1.6.0-openjdk-devel cvs svn perl curl wget Xvfb vnc vnc-server 
  • restart (can run the following as root)
shutdown -r now

Configure Hudson to start automatically

mkdir -p /opt/hudson; cd /opt/hudson; wget https://hudson.dev.java.net/files/documents/2402/128546/hudson.jar
  • create the file /etc/init.d/hudson -- do NOT forget the "&" or your system will hang on restart!
# chkconfig: 2345 20 80
# description: runs Hudson
java -jar /opt/hudson/hudson.jar &
  • as root, run
chkconfig --add hudson; chkconfig --level 2345 hudson on
chmod 755 /etc/init.d/hudson
/etc/init.d/hudson &
  • once started, open firefox or from console
links http://localhost:8080/
  • restart (can run the following as root)
shutdown -r now
  • if anything goes wrong, hit F2 on reboot to enter grub menu, and add "single" to the grub commands to start in the single-user, networkless runlevel mode [1].
  • on restart, verify Hudson is started by opening the above URL

Run a build in Eclipse

  • fire up Fedora Eclipse, fetch o.e.d.c.releng project from :pserver:anonymous@dev.eclipe.org:/cvsroot/technology/org.eclipse.dash/athena/org.eclipse.dash.commonbuilder/org.eclipse.dash.common.releng
  • fetch gef.releng and basebuilder M5 via pcf file in org.eclipse.dash.common.releng/pcf
  • open gef.releng, configure build.properties to correct java and Eclipse platform settings. For example
dependencyURLS=http://download.eclipse.rorg/eclipse/downloads/.../eclipse-*-linux-gtk.tar.gz (or ppc, or x86_64, etc.)

  • select build.xml, right-click and Run as > Ant Build
  • to kill a bad build in progress, open a terminal and run
pkill -f N200903

Run a build in Hudson

  • open http://localhost:8080, click New Job
  • select 'free-style software project'
  • configure a job that runs the following script
export EXTRAFLAGS="-javaHome /usr/lib/jvm/java ${EXTRAFLAGS}"
. /home/builduser/workspace/org.eclipse.dash.common.releng/hudson/gef-3.5.x-nightly.sh
  • define two build parameters
BUILDTYPE (default value N, a nightly build)
EXTRAFLAGS (default value blank, no extra flags
  • save the configuration, then click Build Now to start a build


+ access hudson on guest VBox from host server (via IP address, eg.,

+ start in runlevel 3 instead of 5 (console only, no X - saves memory)