Jenkins Distributed Builds
-
Current Setup which we have looks as shown below
-
On this machine we can build two jobs parallely as we have two build executors.
-
What has to be done if i have to build 100 projects/jobs?
- Increase executors which requires lot of System Resources (CPU, RAM, Storage)
- Jenkins supports Distributed architecture
-
Jenkins has two kinds of servers
- Master:
- Java is Installed
- Jenkins is installed
- Used for administration and job/project creation
- Node:
- Java is Installed
- Agent is configured
- SSH
- JNLP
- These are machines where the build happens
- Each node has a label
- Master:
-
Architecture
-
Advantages:
- To increase executors add nodes
- Different kinds of projects can be built (Java, .net, unix)
Adding a jenkins node with SSH Connectivity
Configure with username and password using SSH
-
Create a vm with username and password configuration which can be pinged from jenkins master
-
Install JAVA, MAVEN and git
-
Navigate to Manage Jenkins => Manage Nodes and Clouds
-
Now lets navigate to home directory of jenkins server
-
Exercise: Examine Jenkins Workspaces on master and nodes for the jobs configured to be executed on Jenkins Nodes.
Jenkins Multi-Master Setup
Jenkins Backup
- Jenkins Backup is all about taking the backup of JENKINS_HOME directory on Jenkins Master.
- This can be done using conventional rsync approaches
- Can be taken from Jenkins Plugins will be covered in next session
Jenkins Plugins
- Jenkins Plugins are used to extend jenkins functionality mostly on the ui front, To experiment
- Lets Install a simple Plugin called as Green Balls Plugin.
- Navigate to Manage Jenkins => Manage Plugins
