Module 3 - Jenkins
Module 3 - Jenkins
AGENDA
Introduction to Continuous Integration
What is Jenkins?
Installing Jenkins
Jenkins Architecture
The process of having shorter release cycles (sometimes, several times a day), i.e., creating small
features and integrating them to the source code and employing automated build and test processes
for quicker feedback is called Continuous Integration.
Continuous
Integration
Developer Version
Control
System
Testing Production
Feedback Server Server
Jenkins is an open-source automation server written in Java. Jenkins helps to automate the non-
human part of the software development process, with continuous integration and facilitating
technical aspects of continuous delivery.
Locating and fixing bugs in the event of build Smaller and automated continuous build and
and test failure was difficult and time testing make the task accurate and faster.
consuming.
No central place for triggering jobs on remote All builds or tests on multiple remote systems
systems. can be controlled from oneplace.
Jenkins Installation:
$> sudo apt-getupdate
$> sudo apt installopenjdk-8-jdk
$> wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
$> sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/>
/etc/apt/sources.list.d/jenkins.list'
$> sudo aptupdate
$> sudo apt installjenkins
DevOps Tools
Plugins
Jenkins
Master
Jenkins
Docker
Selenium
Docker
Selenium
Create a test case for the website in the previous step and execute
Git
the test on the slave using Jenkins
Docker
Selenium
CI/CD Pipelines, i.e., Continuous Integration, Continuous Delivery and Deployment pipelines, are a way of
running Jenkins jobs in a sequence, which resembles a pipeline view.
Finished Application
CI/CD Pipelines, i.e., Continuous Integration, Continuous Delivery and Deployment pipelines, are a way of
running Jenkins jobs in a sequence, which resembles a pipeline view.
For Example:
2. Trigger the jobs after the completion of previous jobs with the following map: Git-Job → Build-Website → Website-
Test
4. Make changes to the website and commit the job to see the changes