Jenkins is a free and open source automation server. It helps automate the parts of software development related to building, testing, and deploying, facilitating continuous integration and continuous delivery.
Jenkins can be run as a Windows service using FireDaemon Pro. This allows you to start and run the application automatically when Windows boots and before login. FireDaemon Pro also allows you to start multiple instances of the server, monitoring them and automatically restarting those instances in the event they crash. FireDaemon Fusion can also be used to manage your Jenkins service, plus other Windows services via your web browser.
Jenkins Setup Under FireDaemon Pro
Please follow the steps below to set up a Jenkins as a Windows service with FireDaemon Pro
Step 1: Download and Install Java
Java 8 is supported until 2030 so we recommended you use this version. Oracle changed their download policy for Java and to download it, you need to make a free Oracle account and login. There are 2 types of java you can install:
- Java Server (JRE): This has performance optimizations and you can download the latest Java 8 Windows x64 JRE from the java website at the bottom of the page. Extract the contents of the zip to your hard drive, for the purposes of this guide we will use "C:\jdk1.8.0_271". The folder name will be different if you're using a different Java version.
- Java SE: This has performance optimizations and you can download the latest Java 8 Windows x64 JSE from the java website at the bottom of the page. Extract the contents of the zip to your hard drive, if you use this version extract to "C:\jre1.8.0_271". The folder name will be different if you're using a different Java version.
For the purposes of this guide, we will use Jave Server (JRE).
Then restart Windows
Step 2: Download and Install Jenkins
- Download from here. Make sure you get the latest windows release.
- Execute "jenkins.msi"
- During installation, you will be asked for the "Service Logon Credentials". Since you're going to be using FireDaemon instead, for now just select "Run service as LocalSystem (not recommended)". Then click the "Next" button.
- Next, you will be asked what port you want Jenkins to run under. Click the "Test Port" button to see if the port is free. If it's not change it to something such as 8181.
- The path to Java should be automatically detected. If it's not or its pointing to the wrong version of Java, then select the correct path here.
- Choose if you want to enable an exception in Windows Firewall. You should not do this because the default installation of Jenkins does not include any security checks so malicious users could launch processes and access files. See this guide for more information.
- Lastly, disable the default service that Jenkins installed. Click on the "System Services" icon within Firedaemon Pro, navigate to the Jenkins entry, and disable it.
Step 3: Set Up Jenkins as a FireDaemon Pro Service
Download and install FireDaemon Pro. Double click the FireDaemon Pro icon on your desktop, then click on the New (i.e. +) button in the toolbar (or type Ctrl + N) to create a new service. Enter the information into the fields as you see below. Adjust the path names to suit your installation. Note the required parameters.
The "Short Name" of Jenkins will already be in use by the service the installer made, so name it something like "jenkins2" instead.
The most important field on the tab is the Parameters. The Parameters define the initial setup of your server. The full parameter list should be as follows:
- -jar Tells Java to load the Jenkins server.
Next, click on the FireDaemon Pro Settings tab:
Enter appropriate values in the fields on the Settings tab as follows:
- (Required) Job Type: You must set job type to "Global Job".
- (Required) Logon Account: Enter the Windows account under which the application is to be run, e.g. the current administrator account.
- Password / Confirm Password: Enter the logon account's password twice.
- (Optional) Interact with Desktop: If this setting is enabled (default), the application's output messages can be seen in the console window on Windows Session 0. To switch to Session 0, it may be necessary to install FireDaemon Zero and ZeroInput. Alternatively, this setting may be disabled, in which case the application's messages will be hidden.
- (Optional) Priority: To allocate more CPU time to the application, select a higher scheduling priority in this field.
- (Optional) CPU Bindings: To run the application on a specific CPU, specify the appropriate CPU in this field.
Next, click on the Lifecycle tab. Set Shutdown By to Forceful Termination and in "Console Program", set "Close Console By" to "CTRL+C"
Now click on the Environment tab. This is where you enter environment variables specific to your Jenkins instance. The names and values of the environment variables are below; adjust your paths to suit your installation:
If you installed Java Server (JRE), the value should be:
If you installed Java SE, the value should be:
Lastly, click the Save and Close (ie. the tick) button on the toolbar. If the service's Startup Type is set to Automatic or Automatic (Delayed-Start), it will start immediately.
If the service's Interact with Desktop setting is enabled, the Jenkins status can also be verified by switching to Windows Session 0 to view the Jenkins's messages.