SlideShare a Scribd company logo
1 of 15
Jenkins: A complete solution

From Continuous Integration to
Continuous Delivery

Virendra Singh Bhalothia
Relevance Lab
bhalothia@gmail.com
Agenda








Introduction and some facts about Jenkins
Supported tech stacks and platforms
Why Jenkins?
Security
Leveraging Jenkins across various projects
Enabling continuous delivery
Best practices

1/12/2014

Jenkins - A complete solution

2
Jenkins: Introduction and facts
Jenkins is an award-winning application that monitors executions of repeated
jobs, such as building a software project or jobs run by cron. Among those
things, current Jenkins focuses on the following two jobs:
 Building/testing software projects continuously
 Monitoring executions of externally-run jobs

Facts:
 Written in Java and initially was supposed to be used as a CI tool
 Over 600 plugins to customize Jenkins as per your need
 Over 1000+ public repositories on Github, 500+ contributors, strong
commit activity
 Free open source and most widely used tool for maintaining continuous
integration cycle. Google trend says it all

1/12/2014

Jenkins - A complete solution

3
Supported tech stacks and platforms
Other popular non java projects supported by Jenkins:











.Net
Ruby
PHP
Drupal
Perl
C++
Node.js
Python
Android
Scala

1/12/2014

Jenkins - A complete solution

4
Platforms supported by Jenkins:










Windows
Ubuntu/Debian
Red Hat/Fedora/CentOS
Mac OS X
openSUSE
FreeBSD
OpenBSD
Solaris/OpenIndiana
Gentoo

1/12/2014

Jenkins - A complete solution

5
Why Jenkins?






Easy install, easy upgrade, easy configuration
Distributed builds – Arguably most powerful feature.
Monitoring external jobs
No limit to the number of jobs, number of slave nodes
Plugin architecture: Support for various version control systems,
authentication methods, notification, workflow building, and many more
features can be added.
 Jenkins provides machine-consumable remote access API to its
functionalities
 Actually there are lot of useful plugins. The list is too long to mention here.
Go on, explore on your own. There’s plugin available for almost everything
you would want.

1/12/2014

Jenkins - A complete solution

6
Securing Jenkins
In the default configuration, Jenkins does not perform any security check. This
means any person accessing the website can configure Jenkins and jobs, and
perform builds. While this configuration is acceptable during initial evaluation
of the software, Jenkins should be configured to authenticate users and
enforce access control in most other situations, especially when exposed to
the Internet.
This article explains in detail how to secure your Jenkins.
 What I usually do is: As an administrator set up ‘Project-based Matrix
Authorization Strategy’ and give only read right to users globally. At job
level, you can give required rights to the users. This would help us create
separate jobs for separate project teams on the same Jenkins instance.

1/12/2014

Jenkins - A complete solution

7
Sharing Jenkins across projects
So here’s the use case: You are an Ops guy, maintaining the Jenkins Infrastructure
and there are a lot of product teams wanting to use Jenkins for their continuous
integration and delivery. Would you install a separate Jenkins instance for each
team? Obviously No.
Also, each team should get access (after logging into Jenkins server) to
view/run/modify only their project’s configured jobs. They shouldn’t be able to
view anything else.
Everything mentioned above can be easily achieved with Jenkins:
 Depending upon the disk and resources usage of each project, you can decide
whether the same master Jenkins can be used as a build server or you need a
slave instance. This is the most powerful feature of Jenkins – Distributed
builds.
 For restricting access to project teams, use ‘Project-based Matrix
Authorization Strategy’ and create separate ‘views’ for each project. As
described in the previous slide.

1/12/2014

Jenkins - A complete solution

8
Enabling Continuous Delivery
 Continuous Integration: It is the practice of merging development work
with a Master/Trunk/Mainline branch constantly so that you can test
changes, and test that changes work with other changes. The idea here is
to test your code as often as possible to catch issues early. Most of the
work is done by automated tests, and this technique requires a unit test
framework. Typically there is a build server performing these tests, so
developers can continue working while tests are being performed.
 Continuous Delivery: It is the continual delivery of code to an environment
once the developer feels the code is ready to ship. This could be UAT or
Staging or could be Production. But the idea is you are delivering code to
a user base, whether it be QA or customers for continual review and
inspection.

1/12/2014

Jenkins - A complete solution

9
In other words, Continuous Delivery is a process that merges Continuous
Integration with automated deployment, test, and release; creating a
Continuous Delivery solution. Continuous Delivery doesn't mean every
change is deployed to production ASAP. It means every change is proven to be
deployable at any time. Check this article to get more insight.
Here, we would talk about enabling Continuous Delivery using Jenkins and it’s
plugins. By using Build pipeline plugin in Jenkins, we can orchestrate the
promotion of a version of software through quality gates and into production.
By extending the concepts of CI you can create a chain of jobs each one
subjecting your build to quality assurance steps. These QA steps may be a
combination of manual and automated steps. Once a build has passed all
these, it can be automatically deployed into production.

1/12/2014

Jenkins - A complete solution

10
Sample build pipeline

1/12/2014

Jenkins - A complete solution

11
Phases of Continuous Delivery









Unit Test
Code Quality Analysis
Deploy to Test Environment
Integration Test
Packaging and Archiving
Deploy to Preproduction Environment
Acceptance Test
Deploy to Production Environment

Jenkins has every plugin required for the ideal Continuous Delivery process,
that too free of cost.
With the help of Jenkins, we can create customized build pipeline to create a
dashboard of our own and enable Continuous Delivery in easy steps
1/12/2014

Jenkins - A complete solution

12
Continuous Delivery Process

1/12/2014

Jenkins - A complete solution

13
Best Practices








Make sure you have backups – better late than never
Plan disk usage – make sure it’s expandable
For easier installation and migration, use native packages if possible
Do distributed builds
Use labels to optimize resource utilization and improve manageability
Make your Jenkins URL short and memorable
Discard old build records to keep your Jenkins instance healthy

Check this Jenkins official page for best practices or download the white
paper from the Jenkins founder Kohsuke Kawaguchi.

1/12/2014

Jenkins - A complete solution

14
Questions?

1/12/2014

Jenkins - A complete solution

15

More Related Content

What's hot

Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineRobert McDermott
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CDHoang Le
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with JenkinsMartin Málek
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and TellE. Camden Fisher
 
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaEdureka!
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandTroublemaker Khunpech
 
How to implement DevOps in your Organization
How to implement DevOps in your OrganizationHow to implement DevOps in your Organization
How to implement DevOps in your OrganizationDalibor Blazevic
 
Continuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practiceContinuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practiceDao Ngoc Kien
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDBatyr Nuryyev
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...Simplilearn
 
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueDevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueRapidValue
 

What's hot (20)

CI/CD
CI/CDCI/CD
CI/CD
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
DevOps: Age Of CI/CD
DevOps: Age Of CI/CDDevOps: Age Of CI/CD
DevOps: Age Of CI/CD
 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
 
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
 
How to implement DevOps in your Organization
How to implement DevOps in your OrganizationHow to implement DevOps in your Organization
How to implement DevOps in your Organization
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
Continuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practiceContinuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practice
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CD
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 
Jenkins Pipelines
Jenkins PipelinesJenkins Pipelines
Jenkins Pipelines
 
Jenkins CI presentation
Jenkins CI presentationJenkins CI presentation
Jenkins CI presentation
 
DevOps Foundation
DevOps FoundationDevOps Foundation
DevOps Foundation
 
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueDevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
 

Similar to Jenkins - From Continuous Integration to Continuous Delivery

data science course with placement in hyderabad
data science course with placement in hyderabaddata science course with placement in hyderabad
data science course with placement in hyderabadmaneesha2312
 
Jenkins in Data Science Institutes in Hyderabad.pdf
Jenkins in Data Science Institutes in Hyderabad.pdfJenkins in Data Science Institutes in Hyderabad.pdf
Jenkins in Data Science Institutes in Hyderabad.pdfmaneesha2312
 
Continous Integration.pptx
Continous Integration.pptxContinous Integration.pptx
Continous Integration.pptxAnuj Sharma
 
Using Jenkins as your go-to CI/CD tool
Using Jenkins as your go-to CI/CD toolUsing Jenkins as your go-to CI/CD tool
Using Jenkins as your go-to CI/CD toolpCloudy
 
varun JENKINS.pptx
varun JENKINS.pptxvarun JENKINS.pptx
varun JENKINS.pptxVgPolampalli
 
GCP DevOps Training institute in Ameerpet - Visualpath.pptx
GCP DevOps Training institute in Ameerpet - Visualpath.pptxGCP DevOps Training institute in Ameerpet - Visualpath.pptx
GCP DevOps Training institute in Ameerpet - Visualpath.pptxeshwarvisualpath
 
Devops - Continuous Integration And Continuous Development
Devops - Continuous Integration And Continuous DevelopmentDevops - Continuous Integration And Continuous Development
Devops - Continuous Integration And Continuous DevelopmentSandyJohn5
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applicationsSunil Dalal
 
Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020prafulIQBusiness
 
Code review automation and functional tests on Carrefour
Code review automation and functional tests on CarrefourCode review automation and functional tests on Carrefour
Code review automation and functional tests on CarrefourDenis Santos
 
Seminar continuous delivery 19092013
Seminar continuous delivery 19092013Seminar continuous delivery 19092013
Seminar continuous delivery 19092013Joris De Winne
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own wordsSUBHENDU KARMAKAR
 
Jenkins- An open integration tool
Jenkins- An open integration toolJenkins- An open integration tool
Jenkins- An open integration toolRebecca D'souza
 
CICD_BestPractices.pdf
CICD_BestPractices.pdfCICD_BestPractices.pdf
CICD_BestPractices.pdfmotupalli2
 
Edureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdfEdureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdfrelekarsushant
 

Similar to Jenkins - From Continuous Integration to Continuous Delivery (20)

data science course with placement in hyderabad
data science course with placement in hyderabaddata science course with placement in hyderabad
data science course with placement in hyderabad
 
Jenkins in Data Science Institutes in Hyderabad.pdf
Jenkins in Data Science Institutes in Hyderabad.pdfJenkins in Data Science Institutes in Hyderabad.pdf
Jenkins in Data Science Institutes in Hyderabad.pdf
 
Continous Integration.pptx
Continous Integration.pptxContinous Integration.pptx
Continous Integration.pptx
 
Using Jenkins as your go-to CI/CD tool
Using Jenkins as your go-to CI/CD toolUsing Jenkins as your go-to CI/CD tool
Using Jenkins as your go-to CI/CD tool
 
varun JENKINS.pptx
varun JENKINS.pptxvarun JENKINS.pptx
varun JENKINS.pptx
 
GCP DevOps Training institute in Ameerpet - Visualpath.pptx
GCP DevOps Training institute in Ameerpet - Visualpath.pptxGCP DevOps Training institute in Ameerpet - Visualpath.pptx
GCP DevOps Training institute in Ameerpet - Visualpath.pptx
 
Continuous integration with Jenkins
Continuous integration with JenkinsContinuous integration with Jenkins
Continuous integration with Jenkins
 
JENKINS Training
JENKINS TrainingJENKINS Training
JENKINS Training
 
Devops - Continuous Integration And Continuous Development
Devops - Continuous Integration And Continuous DevelopmentDevops - Continuous Integration And Continuous Development
Devops - Continuous Integration And Continuous Development
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 
Jenkins
JenkinsJenkins
Jenkins
 
Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020
 
Jenkins job support.pptx
Jenkins job support.pptxJenkins job support.pptx
Jenkins job support.pptx
 
Code review automation and functional tests on Carrefour
Code review automation and functional tests on CarrefourCode review automation and functional tests on Carrefour
Code review automation and functional tests on Carrefour
 
Seminar continuous delivery 19092013
Seminar continuous delivery 19092013Seminar continuous delivery 19092013
Seminar continuous delivery 19092013
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
Jenkins- An open integration tool
Jenkins- An open integration toolJenkins- An open integration tool
Jenkins- An open integration tool
 
DevOps-Ebook
DevOps-EbookDevOps-Ebook
DevOps-Ebook
 
CICD_BestPractices.pdf
CICD_BestPractices.pdfCICD_BestPractices.pdf
CICD_BestPractices.pdf
 
Edureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdfEdureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdf
 

Recently uploaded

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

Jenkins - From Continuous Integration to Continuous Delivery

  • 1. Jenkins: A complete solution From Continuous Integration to Continuous Delivery Virendra Singh Bhalothia Relevance Lab bhalothia@gmail.com
  • 2. Agenda        Introduction and some facts about Jenkins Supported tech stacks and platforms Why Jenkins? Security Leveraging Jenkins across various projects Enabling continuous delivery Best practices 1/12/2014 Jenkins - A complete solution 2
  • 3. Jenkins: Introduction and facts Jenkins is an award-winning application that monitors executions of repeated jobs, such as building a software project or jobs run by cron. Among those things, current Jenkins focuses on the following two jobs:  Building/testing software projects continuously  Monitoring executions of externally-run jobs Facts:  Written in Java and initially was supposed to be used as a CI tool  Over 600 plugins to customize Jenkins as per your need  Over 1000+ public repositories on Github, 500+ contributors, strong commit activity  Free open source and most widely used tool for maintaining continuous integration cycle. Google trend says it all 1/12/2014 Jenkins - A complete solution 3
  • 4. Supported tech stacks and platforms Other popular non java projects supported by Jenkins:           .Net Ruby PHP Drupal Perl C++ Node.js Python Android Scala 1/12/2014 Jenkins - A complete solution 4
  • 5. Platforms supported by Jenkins:          Windows Ubuntu/Debian Red Hat/Fedora/CentOS Mac OS X openSUSE FreeBSD OpenBSD Solaris/OpenIndiana Gentoo 1/12/2014 Jenkins - A complete solution 5
  • 6. Why Jenkins?      Easy install, easy upgrade, easy configuration Distributed builds – Arguably most powerful feature. Monitoring external jobs No limit to the number of jobs, number of slave nodes Plugin architecture: Support for various version control systems, authentication methods, notification, workflow building, and many more features can be added.  Jenkins provides machine-consumable remote access API to its functionalities  Actually there are lot of useful plugins. The list is too long to mention here. Go on, explore on your own. There’s plugin available for almost everything you would want. 1/12/2014 Jenkins - A complete solution 6
  • 7. Securing Jenkins In the default configuration, Jenkins does not perform any security check. This means any person accessing the website can configure Jenkins and jobs, and perform builds. While this configuration is acceptable during initial evaluation of the software, Jenkins should be configured to authenticate users and enforce access control in most other situations, especially when exposed to the Internet. This article explains in detail how to secure your Jenkins.  What I usually do is: As an administrator set up ‘Project-based Matrix Authorization Strategy’ and give only read right to users globally. At job level, you can give required rights to the users. This would help us create separate jobs for separate project teams on the same Jenkins instance. 1/12/2014 Jenkins - A complete solution 7
  • 8. Sharing Jenkins across projects So here’s the use case: You are an Ops guy, maintaining the Jenkins Infrastructure and there are a lot of product teams wanting to use Jenkins for their continuous integration and delivery. Would you install a separate Jenkins instance for each team? Obviously No. Also, each team should get access (after logging into Jenkins server) to view/run/modify only their project’s configured jobs. They shouldn’t be able to view anything else. Everything mentioned above can be easily achieved with Jenkins:  Depending upon the disk and resources usage of each project, you can decide whether the same master Jenkins can be used as a build server or you need a slave instance. This is the most powerful feature of Jenkins – Distributed builds.  For restricting access to project teams, use ‘Project-based Matrix Authorization Strategy’ and create separate ‘views’ for each project. As described in the previous slide. 1/12/2014 Jenkins - A complete solution 8
  • 9. Enabling Continuous Delivery  Continuous Integration: It is the practice of merging development work with a Master/Trunk/Mainline branch constantly so that you can test changes, and test that changes work with other changes. The idea here is to test your code as often as possible to catch issues early. Most of the work is done by automated tests, and this technique requires a unit test framework. Typically there is a build server performing these tests, so developers can continue working while tests are being performed.  Continuous Delivery: It is the continual delivery of code to an environment once the developer feels the code is ready to ship. This could be UAT or Staging or could be Production. But the idea is you are delivering code to a user base, whether it be QA or customers for continual review and inspection. 1/12/2014 Jenkins - A complete solution 9
  • 10. In other words, Continuous Delivery is a process that merges Continuous Integration with automated deployment, test, and release; creating a Continuous Delivery solution. Continuous Delivery doesn't mean every change is deployed to production ASAP. It means every change is proven to be deployable at any time. Check this article to get more insight. Here, we would talk about enabling Continuous Delivery using Jenkins and it’s plugins. By using Build pipeline plugin in Jenkins, we can orchestrate the promotion of a version of software through quality gates and into production. By extending the concepts of CI you can create a chain of jobs each one subjecting your build to quality assurance steps. These QA steps may be a combination of manual and automated steps. Once a build has passed all these, it can be automatically deployed into production. 1/12/2014 Jenkins - A complete solution 10
  • 11. Sample build pipeline 1/12/2014 Jenkins - A complete solution 11
  • 12. Phases of Continuous Delivery         Unit Test Code Quality Analysis Deploy to Test Environment Integration Test Packaging and Archiving Deploy to Preproduction Environment Acceptance Test Deploy to Production Environment Jenkins has every plugin required for the ideal Continuous Delivery process, that too free of cost. With the help of Jenkins, we can create customized build pipeline to create a dashboard of our own and enable Continuous Delivery in easy steps 1/12/2014 Jenkins - A complete solution 12
  • 14. Best Practices        Make sure you have backups – better late than never Plan disk usage – make sure it’s expandable For easier installation and migration, use native packages if possible Do distributed builds Use labels to optimize resource utilization and improve manageability Make your Jenkins URL short and memorable Discard old build records to keep your Jenkins instance healthy Check this Jenkins official page for best practices or download the white paper from the Jenkins founder Kohsuke Kawaguchi. 1/12/2014 Jenkins - A complete solution 14
  • 15. Questions? 1/12/2014 Jenkins - A complete solution 15