With the increasing trend of Microservices, it is becoming a need for each organization to build and deploy multiple services in parallel. In the same way, due to the increase in automated tests, it is becoming essential to execute the tests in parallel to reduce the overall execution time. It is where the CI tools need to provide a mechanism using which can share the load across various machines/servers. Jenkin’s also provides this powerful feature of distributing build jobs ( Jenkins distributed builds) across a large number of machines. Using Jenkins, we can set up a farm of build servers to share the load or run the build jobs within various environments.

This ability also helps us configure Jenkins to fire distributed builds that can increase the efficiency and performance of the overall system. But, first, let’s understand the overall capabilities of Jenkin’s for scheduling and handling distributed builds by covering the details as mentioned in the following topics:

  • What is a distributed build?
  • Why are distributed builds required?
  • Understanding Jenkins Distributed Architecture.
  • Jenkins Master
  • Jenkins Slave
  • How to set up slaves/nodes in Jenkins?
  • How to run builds using the distributed setup in Jenkins?

What is a distributed build?

In a build system, there might occur a situation wherein the current number of machines is inadequate, and we might need more machines to absorb the extra load. In addition, we might need extra machines to run specific tasks in specific environments. All these situations require the addition of more machines at a certain point in time during building. So how do we achieve this? The answer is distributed builds.

Distributed builds absorb extra load by “dynamically” adding extra machines as and when required, for example, in situations discussed above. Also, it may not be wise to run these builds on a single central machine for heavier projects that get built regularly. In this case, we can configure other machines as slaves that will take the load off the Jenkins master server. Let’s understand a few of the significant reasons that justify the primary need for distributed builds.

#jenkins #jenkins distributed builds

Jenkins Distributed Builds
1.55 GEEK