Understanding Jenkins Distributed Architecture and Adding Slave Nodes
This article explains the Jenkins master‑slave distributed architecture, the requirement for identical slave environments, the role of master and slave nodes, and provides step‑by‑step instructions with screenshots for adding and configuring a new slave node for CI/CD builds.
1. Jenkins Distributed Concept Jenkins distributed means having multiple slave nodes; when many projects need to be built, slaves take on the master’s workload, and projects can be created on the slaves.
2. Slave environment must match the master Any software installed on the master must also be installed on the slave, preferably with the same paths; the only difference is that Jenkins itself does not need to be installed on the slave.
3. Jenkins Master‑Slave Architecture Explanation
a. The master‑slave distributed architecture is designed to solve the single‑point performance bottleneck when Jenkins has many build tasks.
b. Master/Slave corresponds to the concepts of server and agent.
c. The master provides a web interface for users to manage jobs and slaves.
d. Jobs can run on the master machine or be assigned to a slave for execution.
e. One master (the machine where Jenkins runs) can be linked to multiple slaves to serve different jobs or the same job with different configurations.
4. Adding a Slave Node
Click “Add New Node” and enter the node name.
Enter node configuration details: Node name: jenkins‑slave; Number of executors: 5 (the number of concurrent tasks); Remote work directory: /var/lib/jenkins/ (any directory; it will be created if it does not exist); Labels: slave (must be specified clearly); Usage: use this node as much as possible; Launch method: launch agents via SSH.
Enter the slave’s IP address, add a credential of type “password”, and fill in the username and password.
5. Configuring Node Properties and Adding Software Paths Install Git, Maven, Sonar, and JDK with identical versions on the slave (steps omitted).
Synchronize time on the two servers (steps omitted).
[root@jenkins-slave ~]# ps -ef |grep jenkins
If this article helped you, please like, view, and share; it greatly encourages me to continue sharing and creating quality content. Thank you 🙏🏻
Practical DevOps Architecture
Hands‑on DevOps operations using Docker, K8s, Jenkins, and Ansible—empowering ops professionals to grow together through sharing, discussion, knowledge consolidation, and continuous improvement.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.