Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Hudson-ci/Installing Hudson Windows Service"

(Install Hudson as a Windows service: Fixed localhost:8080 url (was locahost:8080))
 
(8 intermediate revisions by one other user not shown)
Line 3: Line 3:
 
== Install Hudson as a Windows service  ==
 
== Install Hudson as a Windows service  ==
  
First, you need to start Hudson before installing it. This can be done by running {{code|java -jar hudson.war}}. Now connect to hudson by going to the following URL <nowiki>http://locahost:8080/</nowiki>  
+
First, you need to start Hudson before installing it. This can be done by running {{code|java -jar hudson.war}}. Now connect to hudson by going to the following URL <nowiki>http://localhost:8080/</nowiki>  
  
 
Once Hudson is started, click the manage Hudson link and look for the "Install as Windows Service" link on the management page.  
 
Once Hudson is started, click the manage Hudson link and look for the "Install as Windows Service" link on the management page.  
  
[[Image:Hudson_Windows_Service_1.png]]  
+
[[Image:Hudson Windows Service 1.png]]  
  
 
Clicking this link shows you the installation screen:  
 
Clicking this link shows you the installation screen:  
  
[[Image:Hudson_Windows_Service_1.png]]  
+
[[Image:Hudson Windows Service 2.png]]  
  
 
Choose the directory where Hudson shall be installed (the directory must already exist). This will become {{code|HUDSON_HOME}} and will be used to store data files and programs.  
 
Choose the directory where Hudson shall be installed (the directory must already exist). This will become {{code|HUDSON_HOME}} and will be used to store data files and programs.  
Line 17: Line 17:
 
Upon successful completion of the installation, you should see a page asking you to restart Hudson. Note that you will need administrator privileges to complete this operation.  
 
Upon successful completion of the installation, you should see a page asking you to restart Hudson. Note that you will need administrator privileges to complete this operation.  
  
[[Image:Hudson_Windows_Service_1.png]]  
+
[[Image:Hudson Windows Service 3.png]]  
  
 
<br> Hudson will then be relaunched as a Windows service.  
 
<br> Hudson will then be relaunched as a Windows service.  
Line 25: Line 25:
 
At this point you can use the service manager to confirm that Hudson is running as a service.  
 
At this point you can use the service manager to confirm that Hudson is running as a service.  
  
[[Image:Hudson_Windows_Service_1.png]]  
+
[[Image:Hudson Windows Service 4.png]]
  
h1. Install Slave as a Windows service (require .Net 2 framework)  
+
== Install Slave as a Windows service (requires .Net 2 framework) ==
  
Hudson also allows you to install a slave agent as a Windows service. (See [Distributed builds] for more about how to do distribute builds in general.)  
+
Hudson also allows you to install a slave agent as a Windows service. (See [[Hudson-ci\Distributed Builds|Distributed Builds]] for more about how to do distributed builds in general.)  
  
First, you configure your slave to run as a JNLP slave agent. This should create a JNLP launch icon in the corresponding page, as shown below: \\ &nbsp;!slave-launch-icon.png|align=center!\\ \\
+
First, you configure your slave to run as a JNLP slave agent. This should create a JNLP launch icon in the corresponding page, as shown below: [[Image:HudsonWindowsSlaveService.PNG]]&nbsp;  
  
From the slave machine, launch a slave agent. You should see a window like this: \\ &nbsp;!slave.png|align=center!\\ \\
+
From the slave machine, launch a slave agent. You should see a window like this:  
  
Choose "File" &gt; "Install as Windows Service" from the menu: \\ &nbsp;!slave-install-menu.png|align=center!\\ \\
+
[[Image:HudsonSlaveAgentWindow.PNG]]<br>
  
Confirm your intention to install as a service. The installation will place the program files to the directory designated as the slave root directory (from the "configure executors" screen.) \\ &nbsp;!slave-install-confirm.png|align=center!\\ \\
+
Choose "File" &gt; "Install as Windows Service" from the menu:
  
Once the installation succeeds, you'll be asked if you'd like to stop the current slave agent and immediately start a slave agent. \\ &nbsp;!slave-reboot-confirm.png|align=center!\\ \\
+
[[Image:HudsonSlaveInstallMenu.PNG]]
  
When you click "OK", the slave agent window will terminate. The new slave agent runs as a service without showing a window, so head over to the service manager from the control panel and confirm that the slave agent is indeed running as a service: \\ &nbsp;!slave-service.png|align=center!\\ \\
+
Confirm your intention to install as a service. The installation will place the program files to the directory designated as the slave root directory (from the "configure executors" screen.)&nbsp;
  
h1. Install Slave as a Windows service (cmd version)
+
Once the installation succeeds, you'll be asked if you'd like to stop the current slave agent and immediately start a slave agent.&nbsp;When you click "OK", the slave agent window will terminate. The new slave agent runs as a service without showing a window, so head over to the service manager from the control panel and confirm that the slave agent is indeed running as a service.
  
-In a cmd execute the following command:- {noformat} sc.exe create HudsonSlave binPath= "C:\WINDOWS\system32\java.exe -jar C:\hudson\slave.jar -jnlpUrl http://SERVER:PORT/computer/MACHINE/slave-agent.jnlp" start= auto {noformat}{-}This is a very simple version, you can elaborate start scripts which use some program to hide the CMD window, select the good server and try to ping it, get the MACHINE variable with&nbsp;%computername% ,etc...-
+
== Changing the configuration of services ==
  
{error}This information is false. Service created like this will never report back their status to Windows service manager, so the service will reported as not responding and gets terminated. If you have done this, run "sc delete HudsonSlave" to delete the service created. {error} h1. Changing the configuration of services
+
The JVM launch parameters of these Windows services are controlled by an XML file {{path|hudson.xml}} and {{path|hudson-slave.xml}} respectively. These files can be found in {{path|$HUDSON_HOME}} and in the slave root directory respectively, after you've install them as Windows services.  
 
+
The JVM launch parameters of these Windows services are controlled by an XML file {{hudson.xml}} and {{hudson-slave.xml}} respectively. These files can be found in {{$HUDSON_HOME}} and in the slave root directory respectively, after you've install them as Windows services.  
+
  
 
The file format should be self-explanatory. Tweak the arguments for example to give JVM a bigger memory.  
 
The file format should be self-explanatory. Tweak the arguments for example to give JVM a bigger memory.  
Line 55: Line 53:
 
Stdout and stderr from the service processes go to log files in the same directory.  
 
Stdout and stderr from the service processes go to log files in the same directory.  
  
h1. Uninstallation  
+
== Uninstallation ==
  
To uninstall the service, run {{hudson-slave.exe uninstall}} from the command line.
+
To uninstall the service, run {{code|hudson-slave.exe uninstall}} from the command line. The Hudson-slave executable can be found in the slave root directory.
 +
Note that you should run the uninstall from a admin command prompt on Windows 7 and the service will not be removed until the service is manually stopped or the Windows machine is re-booted.
 +
you can also manually uninstall the service using the command:
 +
{{code|sc delete Hudson Slave}}, again issue this from an admin console.

Latest revision as of 20:54, 6 May 2014

Hudson Continuous Integration Server
Website
Download
Community
Mailing ListForumsIRCmattermost
Issues
OpenHelp WantedBug Day
Contribute
Browse Source
Hudson-bust.png Installing Hudson as a Windows Service











Install Hudson as a Windows service

First, you need to start Hudson before installing it. This can be done by running java -jar hudson.war. Now connect to hudson by going to the following URL http://localhost:8080/

Once Hudson is started, click the manage Hudson link and look for the "Install as Windows Service" link on the management page.

Hudson Windows Service 1.png

Clicking this link shows you the installation screen:

Hudson Windows Service 2.png

Choose the directory where Hudson shall be installed (the directory must already exist). This will become HUDSON_HOME and will be used to store data files and programs.

Upon successful completion of the installation, you should see a page asking you to restart Hudson. Note that you will need administrator privileges to complete this operation.

Hudson Windows Service 3.png


Hudson will then be relaunched as a Windows service.

Note.png
If a restart fails for some reason, check the output from Hudson, which is stored in the installation directory that you specified.


At this point you can use the service manager to confirm that Hudson is running as a service.

Hudson Windows Service 4.png

Install Slave as a Windows service (requires .Net 2 framework)

Hudson also allows you to install a slave agent as a Windows service. (See Distributed Builds for more about how to do distributed builds in general.)

First, you configure your slave to run as a JNLP slave agent. This should create a JNLP launch icon in the corresponding page, as shown below: HudsonWindowsSlaveService.PNG 

From the slave machine, launch a slave agent. You should see a window like this:

HudsonSlaveAgentWindow.PNG

Choose "File" > "Install as Windows Service" from the menu:

HudsonSlaveInstallMenu.PNG

Confirm your intention to install as a service. The installation will place the program files to the directory designated as the slave root directory (from the "configure executors" screen.) 

Once the installation succeeds, you'll be asked if you'd like to stop the current slave agent and immediately start a slave agent. When you click "OK", the slave agent window will terminate. The new slave agent runs as a service without showing a window, so head over to the service manager from the control panel and confirm that the slave agent is indeed running as a service.

Changing the configuration of services

The JVM launch parameters of these Windows services are controlled by an XML file hudson.xml and hudson-slave.xml respectively. These files can be found in $HUDSON_HOME and in the slave root directory respectively, after you've install them as Windows services.

The file format should be self-explanatory. Tweak the arguments for example to give JVM a bigger memory.

Stdout and stderr from the service processes go to log files in the same directory.

Uninstallation

To uninstall the service, run hudson-slave.exe uninstall from the command line. The Hudson-slave executable can be found in the slave root directory. Note that you should run the uninstall from a admin command prompt on Windows 7 and the service will not be removed until the service is manually stopped or the Windows machine is re-booted. you can also manually uninstall the service using the command: sc delete Hudson Slave, again issue this from an admin console.

Back to the top