Version 102.1 by Paul Hoadley on 2010/07/31 07:38

Show last authors
1 [[Hudson>>http://hudson-ci.org/]] is an "extensible continuous integration server". It monitors repeated executions of jobs, such as building software projects, and can be used to build WebObjects applications and frameworks. Hudson is an open source project, and can be used at no cost. An introductory presentation on building WebObjects projects with Hudson was given by Mike Schrag at WOWODC-West in 2009, and the video can be [[purchased from wocommunity.org>>http://www.wocommunity.org/apps/WebObjects/WOCommunity.woa/wa/recordings]].
2
3 == Setting up Hudson ==
4
5 There are a couple different ways to run Hudson. The easiest is to run it as a standalone application.
6
7 === Standalone Installation ===
8
9 {{info}}
10 These instructions are based on David Avendasora's setup. You may have different preferences as to where to install Hudson at or where to set its home directory to.
11 {{/info}}
12
13 1. Create a /Developer/Hudson/Home directory
14 1. Download Hudson From [[http://hudson.dev.java.net]]. Save the hudson.war file to /Developer/Hudson
15 1. Launch Hudson with the following command in Terminal.app:
16
17 {{code}}
18
19 java -DHUDSON_HOME=/Developer/Hudson/Home -jar /Developer/Hudson/hudson.war
20
21 {{/code}}
22
23 {{info}}
24
25 If you have an instance of tomcat or AJP running in a different process you can also use the \-httpPort= and \--ajp13Port= options to change the ports used.
26 {code}
27 java -DHUDSON_HOME=/Developer/Hudson/Home -jar /Developer/Hudson/hudson.war -httpPort=9080 --ajp13Port=9009
28 {code}
29
30 {{/info}}
31
32 1. Point your browser to: [[http://localhost:8080/]]
33 1. Start setting up jobs
34
35 === Servlet Container Installation ===
36
37 1. Install Tomcat from [[http://www.macports.org]] with the command
38
39 {{noformat}}
40
41 sudo /opt/local/bin/port install tomcat6
42
43 {{/noformat}}
44
45 1. Create an administrative user in /opt/local/share/java/tomcat6/conf/tomcat-users.xml (20 mins to find out where the user should be and how not to restart tomcat). Something along the line of:
46
47 {{code value="xml"}}
48
49 <?xml version='1.0' encoding='utf-8'?>
50 <tomcat-users>
51 <role rolename="manager"/>
52 <role rolename="admin"/>
53 <user username="tomcat" password="tomcat" roles="admin,manager"/>
54 </tomcat-users>
55
56 {{/code}}
57
58 {{panel bgColor="#F7D6C1"}}
59
60 Don't forget to change the username and password after you have finished checking out the build server and start using it in production.
61
62 {{/panel}}
63
64 1. Start tomcat
65
66 {{noformat}}
67
68 sudo launchctl load -w /Library/LaunchDaemons/org.macports.tomcat6.plist
69
70 {{/noformat}}
71
72 1. download Hudson from [[http://hudson.dev.java.net]], take care that you use the contextual menu to download the link hudson war file
73 1. create a folder /opt/local/var/db/hudson (this will be the place where hudson will store it's stuff
74 1. change ownership of that folder with ownership www:_www
75 1. add to /opt/local/share/java/tomcat6/conf/setenv.local:
76
77 {{noformat}}
78
79 export HUDSON_HOME=/opt/local/var/db/hudson
80 export JAVA_OPTS=-Djava.awt.headless=true
81
82 {{/noformat}}
83
84 1. Install Hudson in Tomcat: goto [[http://localhost:8080]], login with the user and password that you have created in the tomcat-users.xml, and upload hudson.war to the tomcat server.
85 1. Goto [[http://localhost:8080/hudson]] and you can start configuring your Hudson build server
86
87 == Building WO Apps ==
88
89 * Check out [[^setupWorkspace.sh]]