Prerequisites

Hudson only needs a Java 5 or newer runtime.

WAR file

After you download | hudson.war, you can launch it by executing java -jar hudson.war. This is mostly useful for testing purposes. For production we recommend using native packages for simplified install or deployment in a servlet container that supports Servlet 2.4/JSP 2.0 or later, such as Glassfish, Tomcat 5, JBoss, Jetty 6, etc. See #Containers for more about container-specific installation instruction.

Once the war file is exploded, run chmod 755 hudson in the exploded hudson/WEB-INF directory so that you can execute this shell script.

Unix/Linux Installation

The Hudson project provides native packages for various Linux distributions. These are the simplest way to run Hudson in production, since the packages set up user, service and all other configuration as well as integrate with the native upgrade mechanism of the operating system.

[Installing Hudson as a Unix daemon] if your flavor of Unix isn't any of the ones above.

Alternatively, if you have a servlet container that supports Servlet 2.4/JSP 2.0, such as Glassfish v2, Tomcat 5 (or any later versions), ou can run them as services, and deploy Template:Hudson.war as you would any other war file. [Container specific|Containers] documentation is available if you choose this route.
[_Top of page_|#top]

h1. Windows Installation

If you're running on Windows you might want to run Hudson as a service so it starts up automatically without requiring a user to log in. The easiest way is follow [Installing Hudson as a Windows service]. Alternatively, you can install a servlet container like GlassFish and Tomcat, which can run as a service by itself, and then deploy Hudson to it.

Since Hudson was written to work on unix-like platforms, some parts assume the presence of unix-utilities. It is advised to install these as well on Windows. Install [UnxUtils|http://unxutils.sourceforge.net/] (this includes a shell that seems to work with forward and backwards slashes and does globbing correctly), put it in the Windows Template:PATH, and copy Template:Sh.exe to Template:C:\bin\sh.exe (or whichever drive you use) to make shebang lines work. This should get you going.

If you're running on Windows you might want to run Hudson as a service so it starts up automatically without requiring a user to log in. One way is to first install Tomcat as a service and then deploy Hudson to it in the usual way. Another way is to use the [Java Service Wrapper|http://wrapper.tanukisoftware.org/doc/english/introduction.html]. However, there may be problems using the service wrapper, because the Main class in Hudson in the default namespace conflicts with the service wrapper main class. Deploying inside a service container (Tomcat, Jetty, etc.) is probably more straightforward, even for developers without experience with such containers.

[Installing Hudson as a Windows service]

[_Top of page_|#top]

h1. Case Studies

Also, see how other people are deploying Hudson to get some idea of how to make it fit your environment.