Jump to: navigation, search

Difference between revisions of "Common Build Infrastructure/Virtual Server Setup/Fedora"

(TODO)
(TODO)
Line 100: Line 100:
 
* see also a sample [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.dash/athena/org.eclipse.dash.commonbuilder/org.eclipse.dash.commonbuilder.releng/hudson/gef-3.5.x-nightly/buildbox/config.xml?root=Technology_Project&revision=1.1&content-type=text%2Fplain config.xml] which stores the UI configuration, and [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.dash/athena/org.eclipse.dash.commonbuilder/org.eclipse.dash.commonbuilder.releng/hudson/gef-3.5.x-nightly/build.eclipse.org/config.xml?root=Technology_Project&revision=1.1&content-type=text%2Fplain build.eclipse.org's gef-3.5.x-nightly config.xml]
 
* see also a sample [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.dash/athena/org.eclipse.dash.commonbuilder/org.eclipse.dash.commonbuilder.releng/hudson/gef-3.5.x-nightly/buildbox/config.xml?root=Technology_Project&revision=1.1&content-type=text%2Fplain config.xml] which stores the UI configuration, and [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.dash/athena/org.eclipse.dash.commonbuilder/org.eclipse.dash.commonbuilder.releng/hudson/gef-3.5.x-nightly/build.eclipse.org/config.xml?root=Technology_Project&revision=1.1&content-type=text%2Fplain build.eclipse.org's gef-3.5.x-nightly config.xml]
  
== TODO ==
+
== Remote Access==
  
+ solve OOM problem running tests in Hudson and in Eclipse
+
* set up the VBox instance to use BOTH Host Interface (192.168.2.*) and NAT (10.0.2.*). For more on NAT, see [http://mydebian.blogdns.org/?p=148 this blog]
  
+ access hudson on guest VBox from host server (via IP address, eg., http://10.0.2.15:8080)
+
* access the vserver via SSH on :22, or the Hudson web service on :8080
  
+ start in runlevel 3 instead of 5 (console only, no X - saves memory)
+
== TODO ==
 +
 
 +
+ solve OOM problem running tests in Hudson and in Eclipse

Revision as of 23:13, 5 March 2009


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!
#/bin/bash
# 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.)

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
  • access the vserver via SSH on :22, or the Hudson web service on :8080

TODO

+ solve OOM problem running tests in Hudson and in Eclipse