Difference between revisions of "User:Wvengen@nikhef.nl/Hudson installation"

From PDP/Grid Wiki
Jump to navigationJump to search
 
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
I'm using the continuous integration server [http://www.hudson-ci.org/ Hudson] as part of the [http://jgridstart.nikhef.nl/ jGridstart] development process. An important aspect is testing the software on multiple platforms. Installing Hudson is pretty straightforward in unix-like OSes. Windows needs some attention though, which is described here.
 
I'm using the continuous integration server [http://www.hudson-ci.org/ Hudson] as part of the [http://jgridstart.nikhef.nl/ jGridstart] development process. An important aspect is testing the software on multiple platforms. Installing Hudson is pretty straightforward in unix-like OSes. Windows needs some attention though, which is described here.
 +
 +
A specific requirement is that the graphical user-interface is available for testing under a non-root/non-Administrator account. This really requires one to use (virtual) dedicated machines for running slaves, which is sane anyway; one really wants to have a controlled build environment.
  
 
== Installation of a Hudson Windows slave ==
 
== Installation of a Hudson Windows slave ==
Line 6: Line 8:
 
* Install [http://unxutils.sourceforge.net/ UnxUtils] (see also [http://www.redantigua.com/unxutils-win.html here]), and copy <tt>sh.exe</tt> to <tt>C:\bin</tt> (or whichever drive you use for Hudson); make sure it can be found in the <tt>PATH</tt>.
 
* Install [http://unxutils.sourceforge.net/ UnxUtils] (see also [http://www.redantigua.com/unxutils-win.html here]), and copy <tt>sh.exe</tt> to <tt>C:\bin</tt> (or whichever drive you use for Hudson); make sure it can be found in the <tt>PATH</tt>.
 
* Install the Java runtime from [http://www.java.com/ java.com]
 
* Install the Java runtime from [http://www.java.com/ java.com]
* Create a node in Hudson and create in the Windows node's Startup application folder a shortcut to <tt>javaws http://hudson/computer/win/slave-agent.jnlp</tt>.
+
* Create a node in Hudson (type JNLP)
* ''(not required, but needed for our setup:)'' install [http://gnuwin32.sourceforge.net/packages/unzip.htm unzip] command-line utilities
+
* Start Hudson at login by creating in the start menu's startup application folder a shortcut to: <tt>javaws http://hudson/computer/win/slave-agent.jnlp</tt>.
 +
 
 +
I've ran Hudson on Windows XP professional 32-bit (working on 64-bit), and Windows server 2003.
 +
Note that automatic installation of java environments can run into problems because the user has no administrative rights. You might want to add these, but my tests need to run as an ordinary user so that's no option. Installing JDKs manually as administrator is an option, or running the slave agent as administrator when a new JDK needs to be installed is another option.
  
I've ran Hudson on Windows XP professional 32-bit and 64-bit, and Windows server 2003.
+
== Installation of a Hudson Mac OS X slave ==
 +
Virtualisation using [http://www.parallels.com/ Parallels Desktop] and Mac OS X Server (Leopard and Snow Leopard); it appears that you can't install regular desktop versions as virtual machines.
 +
* Install Mac OS X
 +
* Create an ordinary user (e.g. <tt>hudson</tt>), and setup auto-login
 +
* Create a node in Hudson (type JNLP), and set JDK tool locations to <tt>/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home</tt> (for java 1.5.0, or use another number like <tt>1.6</tt>)
 +
* Start Hudson at login by opening the AppleScript editor, and entering <tt>do shell script "javaws http://my.hudson/computer/node/slave-agent.jnlp"</tt> (see [http://developer.apple.com/mac/library/technotes/tn2002/tn2065.html here]), and saving it as an application bundle. Drag that to the taskbar, right-click on it, and make it run at startup.

Latest revision as of 11:34, 28 July 2010

I'm using the continuous integration server Hudson as part of the jGridstart development process. An important aspect is testing the software on multiple platforms. Installing Hudson is pretty straightforward in unix-like OSes. Windows needs some attention though, which is described here.

A specific requirement is that the graphical user-interface is available for testing under a non-root/non-Administrator account. This really requires one to use (virtual) dedicated machines for running slaves, which is sane anyway; one really wants to have a controlled build environment.

Installation of a Hudson Windows slave

  • Install the Windows OS
  • Create an ordinary user (e.g. hudson), and setup auto-login (KB324737).
  • Install UnxUtils (see also here), and copy sh.exe to C:\bin (or whichever drive you use for Hudson); make sure it can be found in the PATH.
  • Install the Java runtime from java.com
  • Create a node in Hudson (type JNLP)
  • Start Hudson at login by creating in the start menu's startup application folder a shortcut to: javaws http://hudson/computer/win/slave-agent.jnlp.

I've ran Hudson on Windows XP professional 32-bit (working on 64-bit), and Windows server 2003. Note that automatic installation of java environments can run into problems because the user has no administrative rights. You might want to add these, but my tests need to run as an ordinary user so that's no option. Installing JDKs manually as administrator is an option, or running the slave agent as administrator when a new JDK needs to be installed is another option.

Installation of a Hudson Mac OS X slave

Virtualisation using Parallels Desktop and Mac OS X Server (Leopard and Snow Leopard); it appears that you can't install regular desktop versions as virtual machines.

  • Install Mac OS X
  • Create an ordinary user (e.g. hudson), and setup auto-login
  • Create a node in Hudson (type JNLP), and set JDK tool locations to /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home (for java 1.5.0, or use another number like 1.6)
  • Start Hudson at login by opening the AppleScript editor, and entering do shell script "javaws http://my.hudson/computer/node/slave-agent.jnlp" (see here), and saving it as an application bundle. Drag that to the taskbar, right-click on it, and make it run at startup.