Find Jenkins Home and change the JENKINS_HOME directory location by example

How to change JENKINS_HOME

When Jenkins runs, it stuffs all of its logs, cloned repos, plugin configurations and build artifacts into the Jenkins Home folder. Basically, every ounce of configuration that exists for your Jenkins installation is contained in the Jenkins Home directory. The Jenkins Home folder represents the heart and soul of your CI/CD instance.

Back up this folder, and you’ve backed up the entire server. Delete this folder and the next time you run the Jenkins WAR file it will assume it’s a brand new installation and configure itself from scratch. The importance and significance of the Jenkins Home folder can not be understated.

Where is JENKINS_HOME located?

The location of the Jenkins Home folder depends on your operating system, and if you are Linux based, it depends on the distribution.

There are standard Jenkins Home locations the CI/CD tool defaults to, although these locations will change if you configure a JENKINS_HOME environment variable.

Your intro to GitHub Actions training course

Here’s how to get started with GitHub Actions:

Follow these tutorials and you’ll learn GitHub Actions fast.

Jenkins Home on Windows defaults to a folder named .jenkins in the home directory of the user that starts the Jenkins server. On my own Windows 10 Jenkins server, where the user is named Owner, the Jenkins home location is:

C:\Users\Owner\.jenkins

Note that this is the default Jenkins Home location when you run the Jenkins WAR file. If you uses the Jenkins installer to configure the instance, the Windows JENKINS_HOME will be:

C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins\.jenkins\secrets

The Jenkins Home folder on Ubuntu Linux is located at:

var\lib\jenkins
Jenkins Home Location

Jenkins Home location on Windows and Ubuntu Linux.

Change Jenkins Home on Windows

The default Jenkins Home locations are used only if a JENKINS_HOME environment variable is not pre-configured. To change the location of Jenkins Home on Windows, simply add or update the JENKINS_HOME system variable and restart the CI/CD tool. When it restarts, the new Jenkins Home location will be used.

Jenkins Home Windows Change

Change Jenkins Home on windows by updating the JENKINS_HOME system variable.

Change JENKINS_HOME on Ubuntu

A change to the JENKINS_HOME location on Ubuntu is a bit more complicated, as Jenkins must be given rights to access the new folder, and the etc/default/jenkins file must be updated.

The following set of commands would change the Jenkins Home location on Ubuntu Linux from the default to a new folder named /home/my_jenkins_home

sudo -i
sudo service jenkins stop
mkdir /home/my_jenkins_home
sudo chown jenkins:jenkins /home/my_jenkins_home
sudo cp -prv /var/li/jenkins /home/my_jenkins_home
sudo usermod -d /home/my_jenkins_home jenkins
sudo nana /etc/default/jenkins

After the Jenkins usermod command completes, open the /etc/default/jenkins file and update the JENKINS_HOME variable contained within.

# jenkins home location
JENKINS_HOME=/home/my_jenkins_home

The next time you start Jenkins, the popular CI/CD tool will read from the new JENKINS_HOME location.