Jenkins works with many plugins. It is with the support of multiple plugins that Jenkins makes everything possible, from builds to deployments, post-build email notifications and report generation.
In this section we will look at the basic Jenkins architecture and explain its components.
Jenkins uses a master/slave architecture to manage distributed builds. The main Jenkins server in the distributed architecture is called the master server. The master's job is to pull the code from any SCM, schedule build jobs, dispatch scheduled jobs to slave instances for execution, monitor slaves (which can be online or offline as required), and finally to record and present build results. The primary job of the master is to orchestrate the various builds and jobs.
Slave instances are Java executables running on remote machines. Slaves accept requests from the master instance, execute specific jobs, and report build statuses and results back to the master. Slaves can run on different types of operating systems. We can configure a project to run on a specific slave instance or on the next available slave. We can assign any number of slaves to a single master to accommodate a project's changing requirements.
The quiz for this chapter can be found in section 2.4