SlideShare a Scribd company logo
1 of 18
CONTINUOUS INTEGRATION USING JENKINS
- Vinay Gopalkrishna
AGENDA
 Continuous Integration
 What is CI?
 Why we need CI?
 Best Practices
 Workflow
 Build Ingredients
 CI Server – Jenkins
 What is Jenkins?
 How Jenkins work?
 Plugins
 What Jenkins can do?
 Conclusion
 References
CI - DEFINED
 Continuous Integration is the practice, in software
engineering, of merging all developer working
copies with a shared mainline several times a day.
 CI is a software development practice where
members of a team integrate their work frequently,
usually each person integrates at least daily –
leading to multiple integrations per day. Each
integration is verified by an automated build
(including test) to detect integration errors as
quickly as possible. – Martin Flower
CI – WHAT DOES IT REALLY MEAN?
 At a regular frequency (ideally at every commit), the
system is :
 Integrated
 All changes up until that point are combined into the project
 Built
 The code is compiled into an executable or package
 Tested
 Automated Test suites are run
 Archived
 Versioned and stored so it can be distributed as is, if desired
 Deployed
 Loaded onto a system where the developers can interact with
it.
WHY WE NEED CI?
 Fixing bugs late is costly
 Lack of team cohesion
 “Your changes to bar are incompatible with mine. How
do we merge now?”
 “When did we decided to upgrade to version 2.0 of the
super library?”
 “I thought you fixed that 2 months ago!”
 Poor quality code base
 “We have 3 classes doing the same thing!!”
 “Everybody knows double checked locking is bad idea!”
 “Why can’t I just include Foo and not require all of the
other 13 libs? ”
WHY WE NEED CI? CONT…..
 Lack of project visibility
 “What do you mean the tests are failing? ”
 “What’s in the version 1.2.3 of the build”
 What’s our code coverage now?
 Lack of deployable software
 “It works on my machine!”
 “I need a new build to test with”
 “The boss|customer is coming, we need to demo
progress asap.”
BEST PRACTICES
 Maintain Code Repository
 Automate the build
 Everyone commits the baseline everyday
 Every commit (to baseline) should be built
 Keep the build fast
 Test in the clone of production environment
 Make it easy to get the test deliverables
 Everyone can see the results of the latest build
 Automate deployment
CI WORKFLOW
CI WORKFLOW
BUILD INGREDIENTS
 Compilation
 Ensures code actually compiles
 On every target platform
 Test execution
 Ensures product functions as expected
 Through repeatable testing
 Database integration
 Ensures DB and code is in sync
 Automates (re)creation of test data
BUILD INGREDIENTS SOME MORE
 Code inspection
 Ensures a healthy code base
 Identifies problems early
 Enforces best practices
 Automated deployment
 Products can be released anytime
 Continually demo-able state
 Eliminates “Works on my machine”
 Documentation generation
 Ensures document is current
 Removes burden from developers
 Produces build reports and metrics
CI SERVER - JENKINS
 It is an open source CI tool written in java.
 It is a server based system running in a servlet
container.
 It supports SCM tools including Accurev, CVS,
Subversion, Git, Mercurial, Perforce, Clearcase.
 It can execute Apache Ant and Apache maven
based projects.
 Builds can be started by various means, including
being triggered by commit in version control
system.
HOW JENKINS WORK - SETUP
 When setting up a project in Jenkins, out of the box
you have the general options
 Associating with a version control server
 Triggering builds
 Execution of shell scripts, bash scripts, Ant targets and
maven targets.
 Artifact archival
 Publish jUnit test results and javadocs
 Email Notifications
PLUGINS
 Jenkins plugin system can enable a wide range of
features including(but not certainly not limited to)
 SCM
 Testing
 Notifications
 Reporting
 Artifact saving
 Triggers
 External integration
 And most importantly – The CI game
 A points based game where developers compete against each
other to develop the most stable, well tested code
WHAT JENKINS CAN DO?
 Generate Test Reports
 Integrate with many different version control
systems
 Push to various artifact repositories
 Deploys directly to production or test environments
 Notify stakeholders of build status
CONCLUSION
 Continuous Integration is a necessity on complex
projects due to the benefits it provides regarding
early detection of problems.
 A good continuous build system should be flexible
enough to fit into pre-existing development
environments and provide all the features a team
expects from such a system.
 Jenkins, a continuous build system, can be an
integral part of any continuous integration system
due to its core feature set and extensibility through
a plugin system.
REFERENCES
 Continuous integration
 http://en.wikipedia.org/wiki/Continuous_integration
 http://java.dzone.com/articles/continuous-integration-
how-0
 Jenkins
 http://en.wikipedia.org/wiki/Jenkins_(software)
ANY QUESTIONS?

More Related Content

What's hot

Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins IntroductionPavan Gupta
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationamscanne
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...Edureka!
 
What is jenkins
What is jenkinsWhat is jenkins
What is jenkinslinuxdady
 
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)CloudBees
 
Continuous integration / deployment with Jenkins
Continuous integration / deployment with JenkinsContinuous integration / deployment with Jenkins
Continuous integration / deployment with Jenkinscherryhillco
 
Seminar continuous delivery 19092013
Seminar continuous delivery 19092013Seminar continuous delivery 19092013
Seminar continuous delivery 19092013Joris De Winne
 
Continuous Delivery Using Jenkins
Continuous Delivery Using JenkinsContinuous Delivery Using Jenkins
Continuous Delivery Using JenkinsCliffano Subagio
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentChristopher Read
 
Building a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersBuilding a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersAmazon Web Services
 
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous IntegrationQConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous IntegrationRodrigo Russo
 
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)CloudBees
 
Building the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for TestersBuilding the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for TestersWilliam Echlin
 

What's hot (20)

Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins Introduction
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
 
What is jenkins
What is jenkinsWhat is jenkins
What is jenkins
 
Jenkins-CI
Jenkins-CIJenkins-CI
Jenkins-CI
 
Continuous integration with Jenkins
Continuous integration with JenkinsContinuous integration with Jenkins
Continuous integration with Jenkins
 
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
 
Continuous integration / deployment with Jenkins
Continuous integration / deployment with JenkinsContinuous integration / deployment with Jenkins
Continuous integration / deployment with Jenkins
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Seminar continuous delivery 19092013
Seminar continuous delivery 19092013Seminar continuous delivery 19092013
Seminar continuous delivery 19092013
 
Continuous Delivery Using Jenkins
Continuous Delivery Using JenkinsContinuous Delivery Using Jenkins
Continuous Delivery Using Jenkins
 
JENKINS Training
JENKINS TrainingJENKINS Training
JENKINS Training
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous Deployment
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Building a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersBuilding a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containers
 
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous IntegrationQConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
 
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
 
Building the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for TestersBuilding the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for Testers
 

Viewers also liked

Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with BluemixAdopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with BluemixIBM UrbanCode Products
 
How I learned to stop worrying and love the bugs with Jenkins & Continuous In...
How I learned to stop worrying and love the bugs with Jenkins & Continuous In...How I learned to stop worrying and love the bugs with Jenkins & Continuous In...
How I learned to stop worrying and love the bugs with Jenkins & Continuous In...Hervé Vũ Roussel
 
One click deployment with Jenkins - PHP Munich
One click deployment with Jenkins - PHP MunichOne click deployment with Jenkins - PHP Munich
One click deployment with Jenkins - PHP MunichMayflower GmbH
 
Vagrant + Rouster at salesforce.com - PuppetConf 2013
Vagrant + Rouster at salesforce.com - PuppetConf 2013Vagrant + Rouster at salesforce.com - PuppetConf 2013
Vagrant + Rouster at salesforce.com - PuppetConf 2013Puppet
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITVishnu Raju Datla
 
Techniques and Tools to Improve the Salesforce Development Cycle
Techniques and Tools to Improve the Salesforce Development CycleTechniques and Tools to Improve the Salesforce Development Cycle
Techniques and Tools to Improve the Salesforce Development CycleSalesforce Developers
 
Fun with Jenkins & Salesforce
Fun with Jenkins & SalesforceFun with Jenkins & Salesforce
Fun with Jenkins & SalesforceAbhinav Gupta
 
CONTINUOUS INTEGRATION WITH JENKINS AND GIT
CONTINUOUS INTEGRATION WITH JENKINS AND GITCONTINUOUS INTEGRATION WITH JENKINS AND GIT
CONTINUOUS INTEGRATION WITH JENKINS AND GITBenjamin Lutaaya
 
Testing Salesforce at Cloud Scale
Testing Salesforce at Cloud ScaleTesting Salesforce at Cloud Scale
Testing Salesforce at Cloud Scalegwestr
 
Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Dennys Hsieh
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with JenkinsMartin Málek
 

Viewers also liked (11)

Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with BluemixAdopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
 
How I learned to stop worrying and love the bugs with Jenkins & Continuous In...
How I learned to stop worrying and love the bugs with Jenkins & Continuous In...How I learned to stop worrying and love the bugs with Jenkins & Continuous In...
How I learned to stop worrying and love the bugs with Jenkins & Continuous In...
 
One click deployment with Jenkins - PHP Munich
One click deployment with Jenkins - PHP MunichOne click deployment with Jenkins - PHP Munich
One click deployment with Jenkins - PHP Munich
 
Vagrant + Rouster at salesforce.com - PuppetConf 2013
Vagrant + Rouster at salesforce.com - PuppetConf 2013Vagrant + Rouster at salesforce.com - PuppetConf 2013
Vagrant + Rouster at salesforce.com - PuppetConf 2013
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABIT
 
Techniques and Tools to Improve the Salesforce Development Cycle
Techniques and Tools to Improve the Salesforce Development CycleTechniques and Tools to Improve the Salesforce Development Cycle
Techniques and Tools to Improve the Salesforce Development Cycle
 
Fun with Jenkins & Salesforce
Fun with Jenkins & SalesforceFun with Jenkins & Salesforce
Fun with Jenkins & Salesforce
 
CONTINUOUS INTEGRATION WITH JENKINS AND GIT
CONTINUOUS INTEGRATION WITH JENKINS AND GITCONTINUOUS INTEGRATION WITH JENKINS AND GIT
CONTINUOUS INTEGRATION WITH JENKINS AND GIT
 
Testing Salesforce at Cloud Scale
Testing Salesforce at Cloud ScaleTesting Salesforce at Cloud Scale
Testing Salesforce at Cloud Scale
 
Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 

Similar to Continuous integration using jenkins

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
 
Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile Poonam Panday
 
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...eleksdev
 
Continuous deployment steve povilaitis
Continuous deployment   steve povilaitisContinuous deployment   steve povilaitis
Continuous deployment steve povilaitisSteve Povilaitis
 
Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsSunil Dalal
 
What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery Sarah Elson
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0Jasmine Conseil
 
varun JENKINS.pptx
varun JENKINS.pptxvarun JENKINS.pptx
varun JENKINS.pptxVgPolampalli
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsTomohide Kakeya
 
Learn Continuous Integration with Jenkins All in One Guide
Learn Continuous Integration with Jenkins All in One GuideLearn Continuous Integration with Jenkins All in One Guide
Learn Continuous Integration with Jenkins All in One GuideSam Dias
 
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
 
Continuous Integration: A Case Study
Continuous Integration: A Case StudyContinuous Integration: A Case Study
Continuous Integration: A Case StudyIndicThreads
 
Continuous Integration - What even is it?
Continuous Integration - What even is it?Continuous Integration - What even is it?
Continuous Integration - What even is it?Rob Jacoby
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopMichael Palotas
 
Jenkins workflows and Best Practices
Jenkins workflows and Best PracticesJenkins workflows and Best Practices
Jenkins workflows and Best PracticesKenichi Shibata
 
JenkinsCIdocumentations-removedcredentials.docx
JenkinsCIdocumentations-removedcredentials.docxJenkinsCIdocumentations-removedcredentials.docx
JenkinsCIdocumentations-removedcredentials.docxMd. Abdul Hasib (Sazzad)
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationJoseph Wang
 
How to win at DevOps (and understand it along the way)
How to win at DevOps (and understand it along the way)How to win at DevOps (and understand it along the way)
How to win at DevOps (and understand it along the way)Jimmy Puckett
 
Containers and Virtualisation for Continuous Testing
Containers and Virtualisation for Continuous Testing   Containers and Virtualisation for Continuous Testing
Containers and Virtualisation for Continuous Testing sbbabu
 

Similar to Continuous integration using jenkins (20)

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
 
Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile
 
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
 
Continuous deployment steve povilaitis
Continuous deployment   steve povilaitisContinuous deployment   steve povilaitis
Continuous deployment steve povilaitis
 
Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applications
 
Continuous integration
Continuous integration Continuous integration
Continuous integration
 
What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
 
varun JENKINS.pptx
varun JENKINS.pptxvarun JENKINS.pptx
varun JENKINS.pptx
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkins
 
Learn Continuous Integration with Jenkins All in One Guide
Learn Continuous Integration with Jenkins All in One GuideLearn Continuous Integration with Jenkins All in One Guide
Learn Continuous Integration with Jenkins All in One Guide
 
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: A Case Study
Continuous Integration: A Case StudyContinuous Integration: A Case Study
Continuous Integration: A Case Study
 
Continuous Integration - What even is it?
Continuous Integration - What even is it?Continuous Integration - What even is it?
Continuous Integration - What even is it?
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery Workshop
 
Jenkins workflows and Best Practices
Jenkins workflows and Best PracticesJenkins workflows and Best Practices
Jenkins workflows and Best Practices
 
JenkinsCIdocumentations-removedcredentials.docx
JenkinsCIdocumentations-removedcredentials.docxJenkinsCIdocumentations-removedcredentials.docx
JenkinsCIdocumentations-removedcredentials.docx
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
How to win at DevOps (and understand it along the way)
How to win at DevOps (and understand it along the way)How to win at DevOps (and understand it along the way)
How to win at DevOps (and understand it along the way)
 
Containers and Virtualisation for Continuous Testing
Containers and Virtualisation for Continuous Testing   Containers and Virtualisation for Continuous Testing
Containers and Virtualisation for Continuous Testing
 

More from Vinay H G

Developers best practices_tutorial
Developers best practices_tutorialDevelopers best practices_tutorial
Developers best practices_tutorialVinay H G
 
Javamagazine20140304 dl
Javamagazine20140304 dlJavamagazine20140304 dl
Javamagazine20140304 dlVinay H G
 
Hibernate tutorial
Hibernate tutorialHibernate tutorial
Hibernate tutorialVinay H G
 
Java 8 selected updates
Java 8 selected updatesJava 8 selected updates
Java 8 selected updatesVinay H G
 
Why should i switch to Java SE 7
Why should i switch to Java SE 7Why should i switch to Java SE 7
Why should i switch to Java SE 7Vinay H G
 
Lambda Expressions
Lambda ExpressionsLambda Expressions
Lambda ExpressionsVinay H G
 
Javase7 1641812
Javase7 1641812Javase7 1641812
Javase7 1641812Vinay H G
 
Tutorial storybook
Tutorial storybookTutorial storybook
Tutorial storybookVinay H G
 
Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807Vinay H G
 
Agile practice-2012
Agile practice-2012Agile practice-2012
Agile practice-2012Vinay H G
 
OAuth with Restful Web Services
OAuth with Restful Web Services OAuth with Restful Web Services
OAuth with Restful Web Services Vinay H G
 
Java Garbage Collection
Java Garbage CollectionJava Garbage Collection
Java Garbage CollectionVinay H G
 

More from Vinay H G (12)

Developers best practices_tutorial
Developers best practices_tutorialDevelopers best practices_tutorial
Developers best practices_tutorial
 
Javamagazine20140304 dl
Javamagazine20140304 dlJavamagazine20140304 dl
Javamagazine20140304 dl
 
Hibernate tutorial
Hibernate tutorialHibernate tutorial
Hibernate tutorial
 
Java 8 selected updates
Java 8 selected updatesJava 8 selected updates
Java 8 selected updates
 
Why should i switch to Java SE 7
Why should i switch to Java SE 7Why should i switch to Java SE 7
Why should i switch to Java SE 7
 
Lambda Expressions
Lambda ExpressionsLambda Expressions
Lambda Expressions
 
Javase7 1641812
Javase7 1641812Javase7 1641812
Javase7 1641812
 
Tutorial storybook
Tutorial storybookTutorial storybook
Tutorial storybook
 
Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807
 
Agile practice-2012
Agile practice-2012Agile practice-2012
Agile practice-2012
 
OAuth with Restful Web Services
OAuth with Restful Web Services OAuth with Restful Web Services
OAuth with Restful Web Services
 
Java Garbage Collection
Java Garbage CollectionJava Garbage Collection
Java Garbage Collection
 

Recently uploaded

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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
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
 
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
 
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
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
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.
 
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
 
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
 
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
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

Continuous integration using jenkins

  • 1. CONTINUOUS INTEGRATION USING JENKINS - Vinay Gopalkrishna
  • 2. AGENDA  Continuous Integration  What is CI?  Why we need CI?  Best Practices  Workflow  Build Ingredients  CI Server – Jenkins  What is Jenkins?  How Jenkins work?  Plugins  What Jenkins can do?  Conclusion  References
  • 3. CI - DEFINED  Continuous Integration is the practice, in software engineering, of merging all developer working copies with a shared mainline several times a day.  CI is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily – leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. – Martin Flower
  • 4. CI – WHAT DOES IT REALLY MEAN?  At a regular frequency (ideally at every commit), the system is :  Integrated  All changes up until that point are combined into the project  Built  The code is compiled into an executable or package  Tested  Automated Test suites are run  Archived  Versioned and stored so it can be distributed as is, if desired  Deployed  Loaded onto a system where the developers can interact with it.
  • 5. WHY WE NEED CI?  Fixing bugs late is costly  Lack of team cohesion  “Your changes to bar are incompatible with mine. How do we merge now?”  “When did we decided to upgrade to version 2.0 of the super library?”  “I thought you fixed that 2 months ago!”  Poor quality code base  “We have 3 classes doing the same thing!!”  “Everybody knows double checked locking is bad idea!”  “Why can’t I just include Foo and not require all of the other 13 libs? ”
  • 6. WHY WE NEED CI? CONT…..  Lack of project visibility  “What do you mean the tests are failing? ”  “What’s in the version 1.2.3 of the build”  What’s our code coverage now?  Lack of deployable software  “It works on my machine!”  “I need a new build to test with”  “The boss|customer is coming, we need to demo progress asap.”
  • 7. BEST PRACTICES  Maintain Code Repository  Automate the build  Everyone commits the baseline everyday  Every commit (to baseline) should be built  Keep the build fast  Test in the clone of production environment  Make it easy to get the test deliverables  Everyone can see the results of the latest build  Automate deployment
  • 10. BUILD INGREDIENTS  Compilation  Ensures code actually compiles  On every target platform  Test execution  Ensures product functions as expected  Through repeatable testing  Database integration  Ensures DB and code is in sync  Automates (re)creation of test data
  • 11. BUILD INGREDIENTS SOME MORE  Code inspection  Ensures a healthy code base  Identifies problems early  Enforces best practices  Automated deployment  Products can be released anytime  Continually demo-able state  Eliminates “Works on my machine”  Documentation generation  Ensures document is current  Removes burden from developers  Produces build reports and metrics
  • 12. CI SERVER - JENKINS  It is an open source CI tool written in java.  It is a server based system running in a servlet container.  It supports SCM tools including Accurev, CVS, Subversion, Git, Mercurial, Perforce, Clearcase.  It can execute Apache Ant and Apache maven based projects.  Builds can be started by various means, including being triggered by commit in version control system.
  • 13. HOW JENKINS WORK - SETUP  When setting up a project in Jenkins, out of the box you have the general options  Associating with a version control server  Triggering builds  Execution of shell scripts, bash scripts, Ant targets and maven targets.  Artifact archival  Publish jUnit test results and javadocs  Email Notifications
  • 14. PLUGINS  Jenkins plugin system can enable a wide range of features including(but not certainly not limited to)  SCM  Testing  Notifications  Reporting  Artifact saving  Triggers  External integration  And most importantly – The CI game  A points based game where developers compete against each other to develop the most stable, well tested code
  • 15. WHAT JENKINS CAN DO?  Generate Test Reports  Integrate with many different version control systems  Push to various artifact repositories  Deploys directly to production or test environments  Notify stakeholders of build status
  • 16. CONCLUSION  Continuous Integration is a necessity on complex projects due to the benefits it provides regarding early detection of problems.  A good continuous build system should be flexible enough to fit into pre-existing development environments and provide all the features a team expects from such a system.  Jenkins, a continuous build system, can be an integral part of any continuous integration system due to its core feature set and extensibility through a plugin system.
  • 17. REFERENCES  Continuous integration  http://en.wikipedia.org/wiki/Continuous_integration  http://java.dzone.com/articles/continuous-integration- how-0  Jenkins  http://en.wikipedia.org/wiki/Jenkins_(software)