Operations 6 min read

Understanding Jenkins Architecture: Master, Slave, and Core Components

This article provides a comprehensive overview of Jenkins' architecture, detailing the master and slave nodes, web interface, jobs, plugins, security, credentials, cloud agents, global settings, logging, configuration storage, connection methods, and best practices for backup and deployment.

DevOps Cloud Academy
DevOps Cloud Academy
DevOps Cloud Academy
Understanding Jenkins Architecture: Master, Slave, and Core Components

Jenkins is an easy-to-use open‑source CI/CD tool, and this article introduces its basic component architecture for beginners, explaining how the various parts work together and the key configurations involved.

Key components include the Jenkins Master node, Jenkins Slave nodes, and the Jenkins Web interface.

Jenkins Master holds all critical configurations. Its main sub‑components are:

Jenkins Jobs – collections of steps for building source code, testing, running scripts, or executing Ansible roles, supporting multiple job types for CI/CD pipelines.

Jenkins Plugins – community‑developed modules that extend Jenkins functionality; users can also develop custom plugins.

Jenkins Users – a built‑in user database used for authentication.

Jenkins Global Security – provides two primary authentication methods: Jenkins’ own user database and LDAP integration.

Jenkins Credentials – encrypted storage for secrets required by jobs.

Jenkins Nodes/Cloud – configuration of multiple slave nodes (Linux/Windows) or cloud agents (e.g., Kubernetes) to run jobs.

Jenkins Global Settings – configuration of installed plugins, system settings, and global environment variables.

Jenkins Logs – logs for server operations, job execution, plugins, webhooks, etc.

All of these configurations are stored as XML files in the Jenkins home directory; Jenkins does not use a database.

Jenkins Slave nodes are the work machines for jobs. While jobs can run on the master, separating slaves is recommended to avoid resource contention. Any number of Windows or Linux slaves can be attached, and specific slaves can be assigned to jobs requiring particular environments (e.g., Java 8).

Two types of slaves exist:

Static slaves – permanently connected servers.

Cloud slaves – dynamically provisioned VMs or containers that are created on demand and terminated after the job finishes, reducing infrastructure costs.

Jenkins Web Interface in Jenkins 2.0 introduced the intuitive “Jenkins Blue Ocean” UI, offering clear visualizations of pipelines.

Master‑Slave Connection can be established via:

SSH – using the SSH protocol on port 22.

JNLP – Java Web Start protocol, typically using port 50000 (configurable), requiring firewall rules on the master.

All Jenkins data, including job configurations, plugin settings, credentials, and node information, resides in the following directory: <code>/var/lib/jenkins</code> Regular backups of this folder are essential to restore the server in case of data corruption.

For further learning, a recommended end‑to‑end DevOps pipeline tutorial based on Jenkins is linked in the original article.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

ci/cdAutomationDevOpsMaster‑SlaveJenkins
DevOps Cloud Academy
Written by

DevOps Cloud Academy

Exploring industry DevOps practices and technical expertise.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.