Hi readers, in this blog we will be discussing Jenkins’s directory structure. Also, we will be looking at how different config file store into .jenkins folder.

The Jenkins home directory contains all the details of your Jenkins server configuration, details that you configure in the Manage Jenkins screen. These configuration details are stored in the form of a set of XML files. Many of the core configurations are stored in the config.xml file.
The config.xml
file contains information about Jenkins like version, Pipeline information, owner, etc. It also contains the workspace Directory path, builds Directory path.
Fingerprint
It stores the fingerprint information of credentials like git, node, etc.
Job
It stores different jobs that we have created in our Jenkins. It contains sub-directory of each job for each job it contains config.xml, next build number, build folder.
Builds folder contains each build folder and permalinks file which contains lastFailedBuild ,lastStableBuild ,lastSuccessfulBuild,lastUnstableBuild ,lastUnsuccessfulBuild .
Build no folder contains the polling log, log information, and build details like the result, run duration of the build, etc.
plugins
This directory contains any plugins that you have installed. Plugins allow you to extend Jenkins by adding extra features. This means that you can update your Jenkins executable and not have to reinstall all your plugins.
userContent
You can use this directory to place your own custom content onto your Jenkins server. You can access files in this directory at http://myserver/userContent.
As I have contains the only readme.txt which is the default file in this folder you can store any file you want here.
users
If you are using the native Jenkins user database, user accounts will be stored in this directory.
workspace
The workspace
directory is where Jenkins builds your project: it contains the source code Jenkins checks out, plus any files generated by the build itself. This workspace is reused for each successive build—there is only ever one workspace
directory per project, and the disk space it requires tends to be relatively stable.
secrets
secrets needed when migrating credentials to other servers. It helps us to migrate credentials without reveling to someone. It stores a master key, initialAdminPassword, etc.
Installing plugins in Jenkins
After the login, on the left, there is a menu Manage Jenkins
. This is the place to set up any specific configuration to your Jenkins. If you are using version 2.190.1 you may have noticed the big warning to update to the most recent Long-Term Support (LTS) version.
The menu Manage Plugins
will be the only place to care where we focus for now.
Here we have selected the docker plugin and installing the selected plugin.
we can choose the option to restart Jenkins or not depend upon plugins.Some plugin needs to restart to take effect on Jenkins.
Conclusion
This directory is used by Jenkins to keep track of artifact fingerprints. We look at how to track artifacts later on in the book. This directory contains configuration details about the build jobs that Jenkins manages, as well as the artifacts and data resulting from these builds.
Reference
https://wiki.jenkins.io/display/jenkins/administering+jenkins
