Hudson
From KevinWiki
(Difference between revisions)
| Line 64: | Line 64: | ||
* access https://hudson.yourdomain.com. | * access https://hudson.yourdomain.com. | ||
| + | |||
| + | |||
| + | == Configuration == | ||
| + | * To set the Tomcat to use UTF-8 to decode URLs, open <code>$CATALINA_HOME/conf/server.xml</code> file. | ||
| + | * Add <code>URIEncoding="UTF-8"</code> to the following Connector element. | ||
| + | <source lang="xml"> | ||
| + | <Connector port="8080" protocol="HTTP/1.1" | ||
| + | connectionTimeout="20000" | ||
| + | redirectPort="8443" /> | ||
| + | </source> | ||
| + | * So it should be like this | ||
| + | <source lang="xml"> | ||
| + | <Connector port="8080" protocol="HTTP/1.1" | ||
| + | connectionTimeout="20000" | ||
| + | redirectPort="8443" | ||
| + | URIEncoding="UTF-8" /> | ||
| + | </source> | ||
| + | |||
| + | |||
| + | * If it uses <code>mod_jk</code>, add <code>URIEncoding="UTF-8"</code> to | ||
| + | <source lang="xml"> | ||
| + | <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> | ||
| + | </source> | ||
| + | * So this should be | ||
| + | <source lang="xml"> | ||
| + | <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" | ||
| + | URIEncoding="UTF-8" /> | ||
| + | </source> | ||
| + | * Restart the tomcat server. | ||
| + | * <code>JkOptions +ForwardURICompatUnparsed</code> option needs to be added to the <code>/etc/apache2/mods-enabled/jk.load</code> file or in the virtual host setup. | ||
| + | <VirtualHost *:443> | ||
| + | ServerAdmin master@yourdomain.com | ||
| + | |||
| + | SSLEngine on | ||
| + | |||
| + | SSLOptions +StrictRequire | ||
| + | |||
| + | SSLCertificateFile /etc/ssl/certs/server.crt | ||
| + | SSLCertificateKeyFile /etc/ssl/private/server.key | ||
| + | |||
| + | ServerName hudson.yourdomain.com | ||
| + | |||
| + | '''JkOptions +ForwardURICompatUnparsed''' | ||
| + | |||
| + | JkMount / hudson | ||
| + | JkMount /* hudson | ||
| + | |||
| + | </VirtualHost> | ||
| + | |||
| + | * Restart the apache server. | ||
Revision as of 14:41, 6 May 2009
Hudson is a continuous integration tool built using Java. It can work as a standalone server since it has the Winstone Servlet Container or it can work on various Servlet Containers or JEE servers such as Apache Tomcat, Glassfish, JBoss, IBM WebSphere, Jetty 6, etc. Hudson supports Apache Ant and Maven as well as SCM tools such as CSV and Subversion.
Installation
- Download the latest hudson from the hudson web site.
- Deploy
hudson.warfile as a web application to Tomcat server.
Use Subdomain to Access Hudson (with SSL)
- Install and enable mod_jk.
- Open the
workers.propertiesfile in the/etc/apache2directory. - Add a new
workerfor hudson.
workers.tomcat_home=/opt/tomcat workers.java_home=/usr/lib/jvm/java-6-sun ps=/ worker.list=worker1,hudson worker.worker1.port=8009 worker.worker1.host=localhost worker.worker1.type=ajp13 worker.worker1.lbfactor=1 worker.hudson.port=8009 worker.hudson.host=hudson.yourdomain.com worker.hudson.type=ajp13 worker.hudson.lbfactor=1
- Set up
JkMountin the apache virtual host configuration.
<VirtualHost *:443>
ServerAdmin master@yourdomain.com
SSLEngine on
SSLOptions +StrictRequire
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
ServerName hudson.yourdomain.com
JkMount / hudson
JkMount /* hudson
</VirtualHost>
- Open the
$CATALINA_HOME/conf/server.xmlfile to set up a new tomcat virtual host for the hudson. - Add the virtual host info inside the
Engineelement.
<Engine name="Catalina" defaultHost="localhost"> ... Default Host Info ... <Host name="hudson.yourdomain.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="hudson" debug="0" reloadable="true" /> </Host> </Engine>
- The docBase, '
hudson', must exist in the$CATALINA_HOME/webappsdirectory. (It should be there after normal deployment through Tomcat).
$CATALINA_HOME/webapps/application_path
- Restart tomcat and apache.
$ /etc/init.d/tomcat stop $ /etc/init.d/tomcat start $ /etc/init.d/apache restart
- access https://hudson.yourdomain.com.
Configuration
- To set the Tomcat to use UTF-8 to decode URLs, open
$CATALINA_HOME/conf/server.xmlfile. - Add
URIEncoding="UTF-8"to the following Connector element.
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
- So it should be like this
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
- If it uses
mod_jk, addURIEncoding="UTF-8"to
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />- So this should be
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />
- Restart the tomcat server.
-
JkOptions +ForwardURICompatUnparsedoption needs to be added to the/etc/apache2/mods-enabled/jk.loadfile or in the virtual host setup.
<VirtualHost *:443>
ServerAdmin master@yourdomain.com
SSLEngine on
SSLOptions +StrictRequire
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
ServerName hudson.yourdomain.com
JkOptions +ForwardURICompatUnparsed
JkMount / hudson
JkMount /* hudson
</VirtualHost>
- Restart the apache server.