Where Jenkins Configuration Is Stored: Location and Details
Jenkins stores its main configuration in the
JENKINS_HOME directory, which contains files like config.xml for system settings and folders for job configurations. By default, JENKINS_HOME is located at ~/.jenkins on Linux or C:\Program Files\Jenkins on Windows, but it can be customized.Syntax
The Jenkins configuration is stored inside the JENKINS_HOME directory. This directory contains:
config.xml: Main Jenkins system configuration.jobs/folder: Contains subfolders for each job, each with its ownconfig.xml.plugins/: Installed plugins.users/: User data and credentials.
You can find or set JENKINS_HOME by checking environment variables or Jenkins startup parameters.
bash
echo $JENKINS_HOME # or on Windows echo %JENKINS_HOME%
Output
/var/lib/jenkins
# or on Windows
C:\Program Files\Jenkins
Example
This example shows how to locate the Jenkins configuration directory and view the main configuration file.
bash
cd $JENKINS_HOME cat config.xml
Output
<?xml version="1.0" encoding="UTF-8"?>
<jenkins>
<version>2.375.3</version>
<numExecutors>2</numExecutors>
<!-- More configuration here -->
</jenkins>
Common Pitfalls
1. Not knowing the actual JENKINS_HOME location: It can be customized, so assuming the default path may cause confusion.
2. Editing configuration files while Jenkins is running: This can cause Jenkins to overwrite changes or corrupt configs. Always stop Jenkins before manual edits.
3. Missing backups: Not backing up JENKINS_HOME risks losing all job and system configurations.
bash
## Wrong: Editing config.xml while Jenkins runs
vim $JENKINS_HOME/config.xml
## Right: Stop Jenkins, then edit
sudo systemctl stop jenkins
vim $JENKINS_HOME/config.xml
sudo systemctl start jenkinsQuick Reference
Summary of key Jenkins configuration storage points:
| Location | Description |
|---|---|
$JENKINS_HOME/config.xml | Main Jenkins system configuration file |
$JENKINS_HOME/jobs/ | Folder containing individual job configurations |
$JENKINS_HOME/plugins/ | Installed plugins directory |
$JENKINS_HOME/users/ | User data and credentials |
Key Takeaways
Jenkins stores all configuration inside the
JENKINS_HOME directory.The main system settings are in
config.xml inside JENKINS_HOME.Each job has its own folder with a
config.xml for job-specific settings.Always stop Jenkins before manually editing configuration files to avoid corruption.
Back up the entire
JENKINS_HOME directory regularly to protect your setup.