As a JAVA-based open source automation system platform, Jenkins
accelerates automation of CI(Continuous Integration), CD(Continuous Delivery
and Continuous Deployment) tasks and pipelines, what's more, it supports
almost all types of tasks: build, test, deploy. About these workflow
component, we will discuss in the chapter[1.5] in detail.
After practicing Jenkins installation and getting a start with
interface usage and management, I am sure that you will deepen your
sensibility and rational understanding of Jenkins, which is necessary for
some advanced Jenkins usage.
For example, if you get a preliminary recognition on the storage
method of Jenkins, you will be able to obtain a better understanding of the
working principle of Jenkins that the its archive files are stored on the
Master. The timely build is performed on the slave, and some potential
problems caused by large archive files (network, disk, performance,
This article has clear structure to help reader to understand the
Jenkins well, we will introduce Jenkins in five main part, we will explain
what is Jenkins, what is the working principle, what is the Continuous
Integration(it is the core method of Jenkins and why Jenkins exists), and
then how to use Jenkins in the work scenario. For the reason of better
understanding to reader, we illustrate with necessary images. After
reading the article, you will be able to have preliminary knowledge about
Jenkins and do some beginning configuration.
The whole structure of the article is as below.
The predecessor of Jenkins is Hudson. For now Jenkins is a
stand-alone open source server, a continuous integration tool developed
developed and manipulated byJava, it monitors continuous repetitive work
and aims to provide an open and easy-to-use software platform that enables
continuous integration of software.
Jenkins is mainly used as two aspects:
Build/test software projects continuously, automatically, such
as CruiseControl and DamageControl.
Monitor some scheduled tasks.
Jenkins is a powerful application that allows Continuous Integration
(CI) and Continuous Delivery (CD) of projects, no matter which platform we
use in the workplace. Jenkins provide a free source code to all users and
developers which can handle any type of build or continuous
Integrated Jenkins can be used for some testing and deployment
techniques. In a word, Jenkins plays a role as a software that allows for
continuous integration. Jenkins is installed on a service and where the
central build takes place.
When you have finished the installation and configuration. You will
be able to see the dashboard as below. It is a sample of Hello World
project which is implemented on the Jenkins local server.
Continuous Integration: After the development of the new code is
submitted, the build, (unit) test will be performed immediately. According
to the test results, the test process can determine whether the new code
and the original code can be correctly integrated or not. If there is a
problem in the test process, the code will be returned to the development
Continuous Delivery: Deploy the integrated code to a more realistic
production environment based on continuous integration. In close proximity
to the real-world build environment, you can improve data support and
further test. If there is no problem with further testing, you can choose
to deploy it to the online build environment.
Continuous Deployment: On the basis of continuous delivery, the
process of deploying to the production environment is executed
automatically, and it should be noted that the deployment does not require
manual participation. If there is a problem during the deployment process,
the code will be rolled back immediately.
Continuous integration is a development practice that requires
developers to regularly integrate code into a shared
This concept is to eliminate the problems found, and later
appeared in the construction life cycle.
Continuous integration requires developers to build
The most common practice is that the build should be triggered
whenever the code is submitted.
Open source is the label of Jenkins, it is developed byJava
language and it is a development continuous integration tools, support
CI(Continuous Integration), CD(Continuous Delivery and Continuous
Easy to install deployment and make the configuration: With the
feature of user-friendly, Jenkins can be installed through yum, or
download war package. And then user can quickly implement the
installation and the deployment through docker container, which is
convenient for web interface to make the configuration and
Message notification and test report: Integrate RSS/E-mail to
publish the build result via RSS or generate an JUnit/TestNG test
report by e-mail notification when the build is complete.
Distributed build: Support for Jenkins to allow multiple
computers to be built/tested together.
File identification: Jenkins can track the builds which are
generated, and which jars are used in real time.
Rich plug-in support: It supports for extensions, developer can
develop specific tools or useful plug-ins for their own team, such as
GIT, SVN, Maven, Docker, etc.
Jenkins is a productivity-enhancing software which can help you turn
the project development process into a workflow. The typical workflow
consists of the following steps.
With the help of Jenkins, daily project management will be taken
control within these five steps. In addition to the first step, the
following four steps are implemented automatically.
When you are complete the step of submission, Jenkins will
automatically run your compilation script. After the compilation is
successful, Jenkins will execute the test script you have stored, if this
step is successful. Then it will help you to release the new program. In
particular, in the publish step, you have a option to choose the mode that
how to publish the project, manually or automatically.
In this article we introduce the main concepts and working
principles of Jenkins. As the main platform of continuous integration,
Jenkins is widely used in real work situations. I sincerely hope this
article can help readers and potential Jenkins learners.