|
This page has been migrated to the Eclipse Hudson Web site: http://wiki.eclipse.org/Starting_and_Accessing_Hudson Please update your bookmarks. Starting HudsonThe easiest way to execute Hudson is through the built in Winstone servlet container. You can execute Hudson like this: $ java -jar hudson.war Of course, you probably want to send the output of Hudson to a log file, and if you're on Unix, you probably want to use nohup: $ nohup java -jar hudson.war > $LOGFILE 2>&1 Accessing HudsonTo see Hudson, simply bring up a web browser and go to URL http://myServer:8080 where myServer is the name of the system running Hudson. Command Line ParametersHudson normally starts up using port 8080, however, if you have other web services starting up, you might find that this port is already taken, you can specify a different port by using the --httpPort=$HTTP_PORT where $HTTP_PORT is the port you want Hudson to run on. Other command line parameters include:
Hudson passes all command line parameters to the Winstone servlet container, so you can get more information by looking at the Winstone Command Line Parameter Reference
A very simple init script
#!/bin/sh DESC="Hudson CI Server" NAME=hudson PIDFILE=/var/run/$NAME.pid RUN_AS=hudson COMMAND=java -jar /home/hudson/hudson.war d_start() { start-stop-daemon --start --quiet --background --make-pidfile --pidfile $PIDFILE --chuid $RUN_AS --exec $COMMAND } d_stop() { start-stop-daemon --stop --quiet --pidfile $PIDFILE if [ -e $PIDFILE ] then rm $PIDFILE fi } case $1 in start) echo -n "Starting $DESC: $NAME" d_start echo "." ;; stop) echo -n "Stopping $DESC: $NAME" d_stop echo "." ;; restart) echo -n "Restarting $DESC: $NAME" d_stop sleep 1 d_start echo "." ;; *) echo "usage: $NAME {start|stop|restart}" exit 1 ;; esac exit 0 In Ubuntu 9.04-Server this init-script doesn't work. You have to change the start line to start-stop-daemon --start --quiet --background -m --pidfile $PIDFILE --chuid $RUN_AS --exec /usr/bin/java -- -jar /opt/hudson/hudson.war Using HTTPS with an existing certificateIf you're setting up Hudson using the built-in Winstone servlet and want to use an existing certificate for HTTPS you'll need to do some converting. First, convert your pem-formatted certificate and key files to a format that the Java keytool can use: openssl pkcs12 -export -in /path/to/cert -inkey /path/to/key -name "Whatever you want" -out keystore.p12
Then use the Java keytool to create a new keystore with that file (keep track of the password you use for the store, you'll need it in the next step): keytool -importkeystore -srckeystore keystore.p12 -srcstoretype pkcs12 -destkeystore /path/to/hudsonhome/winstone.ks -deststoretype JKS Finally, add these parameters to your command (filling in or changing values as needed): --httpPort=-1 --httpsPort=443 --httpsKeyStore=/path/t/hudsonhome/winstone.ks --httpsKeyStorePassword=yourchosenpass |