Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3


titleTable of Contents
Table of Contents


Unix and Mac Installation

Hudson needs Java J2SE 1.5 or later to run. Hudson is released as a single WAR file. The easiest way to use Hudson is to use Hudson's built in Winstone servlet container. Download Hudson, and execute Hudson by running java -jar hudson.war. This is basically the same setup as the test drive except that Hudson log messages will be sent to the console window.

System requirement

Jenkins requires Java7 or above to function. Java8 is recommended. Jenkins requires a fair amount of memory to operate well. Smaller installations should start around 256MB-1GB.

Unix/Linux Installation

Jenkins has native integrations with the following OSes. See respective sections for how to make Jenkins run in the background automatically:

Alternatively, if you have a servlet container that supports Servlet 2.4/JSP 2.0 or later3.1, such as Glassfish v4, Tomcat 5, JBoss, Jetty 6, etc. Then, you can deploy Hudson's WAR file 8 (or any later versions), then you can run them as services, and deploy jenkins.war as you would any other war file. Container specific documentation is available if you choose this route.
Top of page

Windows Installation

If you're running on Windows you might want it is good to run Hudson Jenkins as a service so it starts up automatically without requiring a user to log in. The easiest way is to run the Windows installer, linked from Jenkins' homepage. This also has the advantage of being easier to automate.

The manual way is to follow Installing Jenkins 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 Jenkins to it. Another way is to use the Java Service Wrapper which is described in the Installing Hudson as a Windows service section.

Top of page

Since Jenkins 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 (this includes a shell that seems to work with forward and backwards slashes and does globbing correctly)(UnxUtils does not download), put it in the Windows PATH , and copy sh.exe to C:\bin\sh.exe (or whichever drive you use) to make shebang lines work. This should get you going. If UnxUtils gives you trouble (Fork Failed Errors), try Win-Bash.

Top of page

Installation Wizard

TODO. This feature is under development.

Jenkins Offline Installation

See details.

Case Studies

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

Top of page


As mentioned above, the easiest way to execute Hudson is through the built in Winstone servlet container. You can execute Hudson like this:

Code Block

$ 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:

Code Block

$ nohup java -jar hudson.war > $LOGFILE 2>&1

To 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.

Top of page

Command Line Parameters

Hudson 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:

Command Line Parameter



This tells Hudson what $JAVA_HOME to use when executing builds that require Java or Ant. This is not the Java JRE that actually executes Hudson. Default is to use the same Java JRE that was used to execute Hudson.


Runs Hudson listener on port $HTTP_PORT using standard http protocol. The default is port 8080. To disable (because you're using https), use port -1.


Uses HTTPS protocol on port $HTTP_PORT


Sets the password for user $ADMIN_USER. If Hudson security is turned on, you must log in as the $ADMIN_USER in order to configure Hudson or a Hudson project. NOTE: You must also specify that this user has an admin role. (See next argument below).


Sets that $ADMIN_USER is an administrative user and can configure Hudson if Hudson's security is turned on. See Securing Hudson for more information.


Tells Hudson where to expand the war file for the bundled servlet container to use.  The default is ~/.hudson/war .

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

titleBe Careful with Command Line Parameters

Hudson ignores command line parameters it doesn't understand instead of producing an error. Be careful when using command line parameters and make sure you have the correct spelling. For example, the parameter needed for defining the Hudson administrative user is --argumentsRealm and not --argumentRealm.

Top of page