- Mastering Jenkins
- Jonathan McAllister
- 283字
- 2021-07-09 21:43:42
Chapter 2. Distributed Builds – Master/Slave Mode
A basic Jenkins installation operates as a standalone entity. A single Jenkins master can be responsible for source control polling, LDAP authentication, job execution, test report parsing, and more. As the role Jenkins plays in an organization expands, we may be asked to provide support for additional build environments, automated test execution solutions, configuration management solutions, and even deployments. To extend Jenkins and support these types of additional responsibilities, Jenkins features an elegant distributed build solution. This feature can be leveraged to help offload some of the work and to position Jenkins as a scalable, cross-platform solution.
"If you always give, you will always have." |
||
--Chinese proverb |
Distributed builds in Jenkins are supported by slave agent services running on unique devices, which coins the term master and slave mode. The master/slave mode architecture can assist us in scaling Jenkins from a single, overworked master instance to a load-balanced distributed build pool. The master/slave mode solution enables the Jenkins administrator to connect additional devices (of many kinds) to the master instance and uniquely tie job executions to the connected slaves.
In this chapter of Mastering Jenkins, we will discover how to scale our Jenkins installation and scale it to support additional hardware and operating system configurations. The topics that we will cover in this chapter will include:
- The Jenkins master/slave architecture
- How to create slave nodes in the user interface
- Understanding slave agent launch mechanisms
- Slave label, grouping, and load balancing
- Useful slave agent-related Jenkins plugins
After completing this chapter, we will have a solid grasp of how to evolve a simple Jenkins installation into a scalable distributed master and slave solution.