Managing nodes
Jenkins provides a master-slave concept for managing the aforementioned scenarios. We can assign different build jobs to different slaves in the build configuration and use the master-slave system to manage its overall lifecycle. The master node itself can execute the build if a slave node is not configured explicitly in the build job configuration.
There are quite a few reasons for using this feature:
Build jobs require resources, and they compete for resource availability
A different runtime environment is required for different build jobs
It distributes the load across slave nodes
To make things clearer, we need not install Jenkins on the slave nodes. We only need to configure the slave nodes properly, which we will now cover.
The only requirements are the following:
The configurations and runtime environment have to be available on the slave node
The path needs to be configured correctly on the master node for the runtime environments or tools used by the slave node for execution...