El future digital MinTIC
es de todos
Reading Exam:
Text
IJlml!l
UNIVERSIDAD
~ SERGIO ARBOLEDA
. El future digital
es de todos
•
Jenkins Tutorial
Jenkins
Jenkins Tutorial is designed for both beginners and professionals. Our Tutorial
provides all the basic and advanced concepts of Jenkins, such as Jenkins installation,
Jenkins Configuration, Jenkins Pipeline, etc.
What is Jenkins?
Jenkins is an open source automation tool written in Java programming language
that allows continuous integration.
Jenkins builds and tests our software projects, which continuously make it easier for
developers to integrate changes to the project, and for users to obtain a fresh build.
It also allows us to continuously deliver our software by integrating with a large
number of testing and deployment technologies.
Jenkins offers a straightforward way to set up a continuous integration or
continuous delivery environment for almost any combination of languages and
source code repositories using pipelines, as well as automating other routine
development tasks.
With the help of Jenkins, organizations can speed up the software development
process through automation. Jenkins adds development life-cycle processes of all
kinds, including build, document, test, package, stage, deploy static analysis and
much more.
llmYll] UNIVERSIDAD
c::r::-' SERGIO ARBOLEDA
El futuro digital MinTIC
es de todos
Jenkins achieves CI (Continuous Integration) with the help of plugins. Plugins is used
to allow the integration of various DevOps stages. If you want to integrate a
particular tool, you have to install the plugins for that tool. For example: Maven 2
Project, Git, HTML Publisher, Amazon EC2, etc.
For example: If any organization is developing a project, then Jenkins will
continuously test your project builds and show you the errors in early stages of your
development.
Possible steps executed by Jenkins are for example:
o Perform a software build using a build system like Gradle or Maven Apache
o Execute a shell script
o Archive a build result
o Running software tests
Continuous Integration with Jenkins
Let's consider a scenario where the complete source code of the application was built
and then deployed on test server for testing. It sounds like a perfect way to develop
software, but this process has many problems.
o Developer teams have to wait till the complete software is developed for the
test results.
o There is a high prospect that the test results might show multiple bugs. It was
tough for developers to locate those bugs because they have to check the
entire source code of the application.
o It slows the software delivery process.
o The whole process was manual which increases the threat of frequent failure.
So to overcome such problem there was a need for a system to exist where
developers can continuously trigger a build and test for every change made in the
source code.
This is what Continuous Integration (CI) is all about. Jenkins is the most mature
Continuous Integration tool available so let us see how Continuous Integration with
Jenkins overcame the above shortcomings.
IJ\ml)]
UNIVERSIDAD
~ SERGIO ARBOLEDA
. El futuro digital
es de todos
MinTIC
A generic flow diagram of Continuous Integration with Jenkins:
edureka!
Build and test results are
fed back to the developers
Commit changes
to the source code
Developer
es
to the source code Jenkins selenium Production
Developer
Server Server
Developer ~Commit changes
to the source code
Jenkins chKk the
shared repository
at periodic intervals
and ewry check-in
is pulled and then
~nkins deploys the
build appliution on
the tut serv«
The build
appliattofl is then
~ployod to the
production servff
buikt
.......................................................................................
Advantages and Disadvantages of using Jenkins
Advantages of Jenkins
o It is an open source tool.
o It is free of cost.
o It does not require additional installations or components. Means it is easy to
install.
o It supports 1000 or more plugins to ease your work. If a plugin does not exist,
you can write the script for it and share with community.
o It is built in java and hence it is portable.
o It is platform independent. It is available for all platforms and different
operating systems. Like OS X, Windows or Linux.
o Jenkins also supports cloud based architecture so that we can deploy Jenkins
in cloud based platforms.
Disadvantages of Jenkins
o Its interface is outdated and not user friendly compared to current user
interface trends.
o Not easy to maintain it because it runs on a server and requires some skills as
server administrator to monitor its activity.
UNIVERSIDAD
SERGIO ARBOLEDA