When we try to build a jenkins job, jenkins will try to find an executor. Jenkins server has by default 2 executor. This implies we can build two jobs in parallel.
In an enterprise scenario, each project has its set of tools/softwares which might be different, to support this jenkins has node concept
A node is a VM or Physical or docker container with preconfigured set of tools installed.
We need to configure the connection b/w jenkins Server and node and also configure number of executors. Each node will/should have a label.
Now once this configuration is done, then we can have our jobs build on different node than jenkins server
This gives an option to have various builds configured from one highly available jenkins.
Adding nodes to jenkins server gives us the flexibility to create various environments (QA,Dev, Staging, pre-prod)
How to configure a node to Jenkins server
Jenkins tries to login into remote node and execute the job for this jenkins uses an agent from jenkins called as jenkins-agent
On the jenkins node java 8 or java 11 has to be installed
For our lab set up lets create a ubuntu 18 node install java and maven