2. What is Jenkins
• CONTINUOUS INTEGRATION & CONTINUOUS
DELIVERY ARE INTEGRAL PARTS OF DEVOPS,
AS THEY ARE USED FOR INTEGRATING
MULTIPLE STAGES OF THE METHODOLOGY.
• THERE ARE MANY CI/CD TOOLS IN THE
MARKET BUT JENKINS; THE JAVA-BASED
OPEN-SOURCE CI/CD TOOL TOPS THE
POPULARITY LIST.
• OTHER CI/CD TOOLS IN
THE MARKET
• CircleCI
• Bamboo
• TeamCity
• GitLab
• Travis CI
• Buddy
7. Jenkins Pipeline
• Pipeline is a plugin installed to the Jenkins server.
• This is implemented as a code which allows multiple users to edit and execute the pipeline process
• If the server undergoes an unforeseen restart, the pipeline will be automatically resumed
• Have the capability to pause the pipeline process and make it wait to resume until there is an input
from the user
• Jenkins Pipeline support big projects, multiple jobs and even use pipelines in a loop
8. Pipeline Repository
• Default parameters for the
project
• Jenkins libraries related to
the project
• Main Jenkins file
• Connects with the Jenkins CI
server
• Repository list
9. Shared Libraries
As Pipeline is adopted for more and more
projects in an organization common patterns
are likely to emerge
Oftentimes it is useful to share parts of
Pipelines between various projects to reduce
redundancies
Pipeline has support for creating "Shared
Libraries" which can be defined in external
source control repositories and loaded into
existing Pipelines
10. Jenkins file
Once hit the "Run" in the Jenkins pipeline, the server will find this particular
file and execute its content
The pipeline is a set of instructions given in the
form of code for continuous delivery and consists
of instructions needed for the entire build
process.
The machine on which Jenkins runs is called a
node. A node block is mainly used in scripted
pipeline syntax.
Triggers define what causes a Jenkins job to start
building
This directive will group the specific options for
the whole pipeline
It allows to specify which maven, jdk or gradle
version to use on your script
This section allows to generate different stages
on your pipeline that will be visualized as
different segments when the job is run.
Contain the work that the pipeline will execute
Jenkins will display each of them on its interface