Jenkins is an open source automation tool that can be used to accelerate the application development process using CI/CD pipelines. Jenkins controls and manages application development life cycle processes, including the build, test, publish, stage, deploy, and smoke test processes, among others.
The standard Jenkins architecture is shown in the following diagram:
Jenkins architecture
There are two main components in the Jenkins architecture:
- Jenkins Master: Your CI/CD controller, handling various tasks, such as:
- Job scheduling
- Distributing the workload among Jenkins Slaves
- Jenkins Slave monitoring
- Logging and representing job results
- Jenkins Slaves: A set of Java-based programs that run on the remote host. Jenkins Slaves mainly execute instructions from Jenkins Masters.
Jenkins Masters and Jenkins Slaves are functionalities, which basically means that...