Hudson

From KevinWiki

(Difference between revisions)
Jump to: navigation, search
m
Line 55: Line 55:
     </Engine>
     </Engine>
</source>
</source>
-
* The docBase, '<code>hudson</code>', must exist in the <code>$CATALINA_HOME/webapps<code> directory. (It should be there after normal deployment through Tomcat).
+
* The docBase, '<code>hudson</code>', must exist in the <code>$CATALINA_HOME/webapps</code> directory. (It should be there after normal deployment through Tomcat).
  $CATALINA_HOME/webapps/application_path
  $CATALINA_HOME/webapps/application_path
-
* Restart tomcat and apche.
+
* Restart tomcat and apache.
  $ /etc/init.d/tomcat stop  
  $ /etc/init.d/tomcat stop  
  $ /etc/init.d/tomcat start  
  $ /etc/init.d/tomcat start  
  $ /etc/init.d/apache restart  
  $ /etc/init.d/apache restart  
-
* access <code>https://hudson.yourdomain.com</code>
+
* access https://hudson.yourdomain.com.

Revision as of 02:56, 1 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.war file as a web application to Tomcat server.

Use Subdomain to Access Hudson (with SSL)

  • Install and enable mod_jk.
  • Open the workers.properties file in the /etc/apache2 directory.
  • Add a new worker for 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 JkMount in 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.xml file to set up a new tomcat virtual host for the hudson.
  • Add the virtual host info inside the Engine element.
    <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/webapps directory. (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 
Personal tools