Master Slave Jenkins
Master Slave Jenkins
Master Slave Jenkins
build/test within
The master will continue to perform basic operations and serve the user interface, while the
slaves do the heavy lifting.
Jenkins Slave :
A slave is a Java executable that runs on a remote virtual machine. It has following
points.
It check requests from the Jenkins master instance.
Slaves can run on a different type of operating systems like linuxs and windows.
Jenkins supports the master-slave architecture, i.e. many slaves work for a master. It is also
known as Jenkins Distributed Builds. It also allows you to run jobs on different environments like
Linux, Windows, MacOS, etc. We can also run the same test case on different environments in
parallel using Jenkins Distributed Builds, which in turn helps you to achieve the desired results
quickly using this distributed approach. All of the job results are collected and combined on the
master node for monitoring.
When you are working on a number of projects which get built on a regular basis or want to run
multiple jobs or might need several different environments to test your builds, then a single
Jenkins server cannot simply handle the entire load.
Jenkins Master
Your main Jenkins server is the master machine. The tasks performed by the master are
:
Jenkins Slave
A slave is a Java executable that runs on a remote machine. The characteristics of the
slave are :
Distributed Builds
One of the best features of Jenkins is distributed builds. It basically allocates the different
jobs to various machines. This helps in distributing the load as well as run the build on
different environments
Before proceeding towards the description of components, let’s understand first that why
distributed architecture is required:
Suppose we are working on larger and heavier projects that get built regularly,
so its not a good idea to put a complete load on the central Jenkins Server as
it would not be efficient. So, here we need to configure different Jenkins
machines as slave machines capable of taking the load from the master
Jenkins server.
Sometimes, we need to build or test the builds on different
environments/operating systems, so in this case, the assignment of each
Jenkins slave machine for each environment is the best idea to distribute the
load as well as to get results soon.
I hope the above points justify the need for a distribut
What is Jenkins Master ?
Jenkins Master is the central component of Jenkins’s distributed system, and majorly
performs the following tasks:
Schedule and execute the builds, either on the master itself or on the slaves.
Distributing and dispatching the builds to slaves.
Gathering and displaying the results gathered from slaves.
Monitor slaves, including switching on/off slaves on need basis.
Monitor and pull codes from repositories.