Jenkins supports a Master/Agent architecture. In a Master/Agent architecture, we can install Jenkins on the master and then utilize other agents for distributing the load.
We can delegate Jenkins jobs to agents for execution. This way we can support multiple executions using different resources.
There are specific scenarios where a Master/Agent architecture is extremely useful, such as the following:
- A Jenkins machine has limited capacity. Even with higher capacity, there will be a time when it can't fulfil all requests. By distributing the load between Agent nodes, we can free system resources where Jenkins is installed.
- Different jobs require different kinds of resources, and they are restricted to specific machines only. In such cases, we can only utilize that machine -- it is not possible to configure it on the Jenkins system -- so it is better to utilize that machine as an agent.
- If different operating systems are required or some tools work only in...