Jenkins Architecture
Understanding Jenkins architecture helps you manage builds efficiently, especially when scaling to many projects. Jenkins follows a master‑agent architecture.
Jenkins Master (Controller)
The master is the central Jenkins server. It:
- Manages jobs, pipelines, and configurations.
- Schedules builds and monitors agents.
- Stores build results and logs.
- Serves the web UI and API.
Jenkins Agents (Nodes)
Agents are separate machines (or containers) that execute build tasks. They offload work from the master. Benefits:
- Distribute load across multiple machines.
- Run builds on different operating systems (Windows, Linux, macOS).
- Isolate build environments.
How Jobs Run
1. User creates a job (freestyle or pipeline) on the master.
2. When triggered, Jenkins looks for an available agent (or runs on master).
3. Jenkins sends the job definition to the agent.
4. Agent performs the build steps (checkout code, compile, test, etc.).
5. Agent sends back logs and artifacts to the master.
6. Master stores results and notifies users.
Jenkins Home Directory
All configuration, job definitions, build logs, and plugins are stored in
JENKINS_HOME. This directory is critical for backups. Default locations:- Linux:
/var/lib/jenkins - Windows:
C:ProgramDataJenkins.jenkins - Docker:
/var/jenkins_home(volume)
Plugins Architecture
Jenkins functionality is extended via plugins. Each plugin adds features like Git integration, Docker support, or Slack notifications. Plugins are installed via the UI or CLI and stored in
JENKINS_HOME/plugins.Two Minute Drill
- Master: central server, manages jobs, UI, API.
- Agents: execute builds, distribute load, support different OS.
JENKINS_HOMEstores all configuration and build data.- Plugins extend Jenkins functionality.
Need more clarification?
Drop us an email at career@quipoinfotech.com
