Jenkins CICD in One Page

 

 Jenkins Architecture:

  • Jenkins follows a Master/Slave architecture where master and slave communicate over TCP/IP protocol
  • Jenkins Architecture has 2 main components:
1. Jenkins Master/Server          2. Jenkins Slave/Node/Build Server





1. Jenkins Master:

  • The Main Server of Jenkins i.e. the brains is the Jenkins Master
  • It is a dashboard which is powered from a war file
  • Runs on port 8080 by default
  • With the help of the dashboard we can configure the jobs/projects but the build takes places in the Node/Slave server
  • By default one node is configured and running in Jenkins Server
  • We can add more nodes using IP addresses, username, passwords using jnlp, ssh or webstart methods

The main job of server is:

  • Scheduling build jobs
  • Dispatching builds to the nodes/slaves for actual execution
  • Monitoring the nodes/slaves
  • Recording and Presenting the build results
  • A Master/Server instance of Jenkins can execute build jobs as well i.e. it can also act as a node itself

2. Jenkins Slave:

  • The Jenkins slave is used to execute the build jobs dispatched by the Master.
  • We can configure a project to always run on a 
       - Specific slave machine (like QA234)
       -  A Particular type of slave machine (Like Win, Mac, Linux)
       - Or Let Jenkins pick the next available Jenkins Slave/Node
  • Jenkins is developed using Java platform hence, Jenkins Master and Slave Nodes can be configured in any environments like Mac, Linux, Windows


Comments

Popular posts from this blog

Why do we need a build tool?

Deutsche Bank Interview Questions - 2024