Distributed Builds with Jenkins

Check out these related webinars…

Distributed Builds – Overview

  • Jenkins can act as master/slave setup to distribute builds over
    multiple machines
  • Why?
    • Additional Capacity
    • Different build/runtime environments
    • Integration Test
    • Managing Machines

Distributed Builds – How?

  • Have another machine
  • Make sure all the required software is installed
  • Version control system
  • Java Development Kit
  • SSH
  • Configure the Jenkins Master
  • If necessary, configure projects

Slave Machines

  • For *nix, Master contacts slaves by SSH
  • Need user created on slave machine
  • Keys/credentials if necessary
  • For Windows, usually just install slave as a Windows Service
  • Needs to have local copies of anything that Jenkins needs
    • Git, SVN, Mercurial, etc
    • Maven
    • Java
    • Jenkins can install some of these automatically

Configure Jenkins Master

  • Create a Node
  • Configure Node for # executors, tool locations, etc

Configure Projects

  • If desired, you can restrict where a project runs
  • Each slave has one or more tags
  • Project can call out a tag
  • Project will only run on slaves where the tags match
  • No other config required

Conclusion

  • Distributed builds are readily supported in Jenkins

Related Webinars