Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Common Build Infrastructure/Virtual Server Setup/Fedora

This page documents how http://buildbox/ was set up for use in EclipseCon 2009's Hands-On: Using the new Common Builder for Push-Button PDE Builds tutorial.

Create virtual server image

  • create 30G extensible virtual disk for use with Virtual Box
  • VirtualBox recommends no more than 256M vram, but you need more or you get java.io.IOException: error=12, Cannot allocate memory when running tests
  • Hudson-based GEF 3.5 build ran OK with 640M (111 tests, including UI tests)
Network install
  • 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 http://hudson.gotdns.com/latest/hudson.war


  • create the file /etc/init.d/hudson -- do NOT forget the "&" or your system will hang on restart!
#/bin/bash
# chkconfig: 2345 20 80
# description: runs Hudson
java -jar /opt/hudson/hudson.war &
  • 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 [2].
  • 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.org/eclipse/downloads/drops/S-3.5M5-200902021535/eclipse-SDK-3.5M5-linux-gtk.tar.gz (or -ppc, or -x86_64, etc.)

JAVA_HOME=/usr/lib/jvm/java
JAVA14_HOME=/usr/lib/jvm/java
JAVADOC14_HOME=/usr/lib/jvm/java/bin
  • 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 BUILDTYPE="${BUILDTYPE}"
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

Remote Access

  • set up the VBox instance to use BOTH Host Interface (192.168.2.*) and NAT (10.0.2.*). For more on NAT, see this blog
Host Interface
  • access the vserver via SSH on :22, or the Hudson web service on :8080
  • to save memory, edit /etc/inittab so that the server will start on runlevel 3 (text login) instead of 5 (graphical login, with X started)

Back to the top