SlideShare a Scribd company logo
June 21, 2017 1
Continuous Integration Tools
June 21, 2017 www.snipe.co.in 2
Prepared :Snipe Team
June 21, 2017 3
Agenda
•continuous integration
-Various Build tools
•Hudson Overview
- what is Hudson
- Features of Hudson
- Why Hudson?
- Hudson History
• Jenkins Overview
- What is Jenkins
-Features Jenkins
-Why Jenkins?
- Jenkins History
• Difference B/W Hudson and Jenkins
June 21, 2017 4
Continuous Integration
• What is Continuous Integration?
•Continuous Integration (CI) is a development practice that requires
developers to integrate code into a shared repository several times a
day. Each check-in is then verified by an automated build, allowing
teams to detect problems early.
•By integrating regularly, you can detect errors quickly, and locate
them more easily.
June 21, 2017 5
CI - Means
• 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
June 21, 2017 6
CI – Workflow
• CI – Workflow
June 21, 2017 7
Build tools
•Continuous Integration Process
Initial
Checkout
Build
Locally
Develop
Commit to
Repository
Fix Errors
Build
Locally
Build
Locally
Remote
Build
Update from
SCM
June 21, 2017 8
CI - Benifits
•Benefits of Continuous Integration?
•Say goodbye to long and tense integrations
•Increase visibility which enables greater communication
•Catch issues fast and nip them in the bud
•Spend less time debugging and more time adding features
•Proceed in the confidence you’re building on a solid foundation
•Stop waiting to find out if your code’s going to work
•Reduce integration problems allowing you to deliver software more rapidly
June 21, 2017 9
CI -Tools
•CI – The tools
•Code Repositories
•SVN, Mercurial, Git
•Continuous Build Systems
•Jenkins, Hudson, Cruise Control
•Test Frameworks
•JUnit, Cucumber, CppUnit
•Artefact Repositories
•Nexus, Artifactory, Archiva
June 21, 2017 10
Hudson Overview
• What is Hudson ?
• Continuous Integration 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. Many teams find
that this approach leads to significantly reduced integration problems
and allows a team to develop cohesive software more rapidly
• Hudson excels at integrating with almost every tool you can think of.
• Use Apache Maven, Apache Ant or Gradle or anything you can start
with a command line script for builds and send messages via email,
SMS, IRC and Skype for notifications.
June 21, 2017 11
Hudson Benifits
• Hudson Benefits
•Never gets bored doing builds and tests
• Catches problems fast
• Alerts developers while code is fresh in their minds
• Prevents bugs from propagating downstream
• Cheaper to fix bugs earlier, before QA or Deployment
June 21, 2017 12
Hudson Architecture
• Hudson Architecture
June 21, 2017 13
Jenkins Overview
June 21, 2017 14
Jenkins - History
• Jenkins - History
•2005 - Hudson was first release by Kohsuke Kawaguchi Sun
Microsystems
• 2010 – Oracle bought Sun Microsystems
•Due to a naming dispute, Hudson was renamed to Jenkins
•Oracle continued development of Hudson (as a branch of the
original)
June 21, 2017 15
Jenkins – Fitting in
• Jenkins – Fitting in
June 21, 2017 16
Flexibality
• Why Jenkins? Flexibility!
•Jenkins is a highly configurable system by itself.
• The additional community developed plugins provide even more
flexibility.
•By combining Jenkins with Ant, Gradle, or other Build Automation
tools, the possibilities are limitless
June 21, 2017 17
Why Jenkins
• Why Jenkins? Free/OSS
•Jenkins is released under the MIT License
•There is a large support community and thorough documentation
•It’s easy to write plugins
•Think something is wrong with it? You can fix it!
June 21, 2017 18
Jenkins - Do
• What can Jenkins 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
•…and much more
June 21, 2017 19
Jenkins Does
•Putting it all together
•While an integral part of a CI system, Jenkins is by no means the only
component
•In order for a CI system to function, a common repository for the codebase
needs to exist
•A database of artifacts needs to exist, so deliveries can be made at past
iterations
•The last step in a CI process is the deployment of the components built
•…and none of this matters if the developers don’t use the system; procedures
need to ensure the system is used as intended
June 21, 2017 20
Who use
•
June 21, 2017 21
Supporters
• Running Jenkins yourself
•Jenkins is packaged as a WAR, so you can drop it into whichever servlet container you
prefer to use
•Jenkins comes pre-packaged with a servlet if you just want a light-weight
implementation
•Native/Supported packages exist for
•Windows
•Ubuntu/Debian
•Redhat/Fedora/CentOS
•Mac OSX
•openSUSE
•FreeBSD
•OpenBSD
•Solaris/OpenIndiana
June 21, 2017 22
Update
• Running Jenkins yourself – Updates
•Jenkins has two release lines
•Standard releases
•Weekly bug fixes and features
•Long-Term Support releases
•Updates about every 3 months
•Uses a “Stable but older” version from the standard release
line
•Changes are limited to backported, well-tested modifications
June 21, 2017 23
Cloud-based solutions
•Letting someone else run Jenkins
•There are also cloud-based solutions that can provide a Jenkins instance
•Cloudbees - http://www.cloudbees.com/
•ShiningPanda - https://www.shiningpanda.com/
June 21, 2017 24
Jenkins - Agile
•Tying it into Agile
•For an Agile team, Jenkins provides everything needed for a robust
continuous build system
•Jenkins supports Agile principles by constantly providing access to
working copies of software
•Jenkins’ extensibility allows the system to adapt to many different pre-
existing environments
June 21, 2017 25
Jenkins – Why not Hudson?
•Why Choose Jenkins?
•Because everyone else has
• adoption metrics indicating clear shift in the user base.
June 21, 2017 26
Jenkins – Why not Hudson?
•Why Choose Jenkins?(cont..)
•Because the Hudson team has moved to develop Jenkins
•The crew that has been developing Hudson core since its inception is
now working on Jenkins. So you can trust our expertise and the the
passion to keep pushing the software forward
•Because a large number of plugin authors have chosen to
support their plugins on Jenkins
•Substantial majority of the plugin developers have chosen to stick
with the Jenkins project. So you can expect bug fixes and new
improvements to them from Jenkins.
June 21, 2017 27
Jenkins – Why not Hudson?
•Why Choose Jenkins?(cont..)
•Because we'll make incremental iterative improvements to
the code
•The Jenkins team follows the tradition in the Hudson project of
making compatible, iterative improvements to the code base that
protects your existing data and in-house plugins.
June 21, 2017 28
Jenkins – Why not Hudson?
•Why Choose Jenkins?(cont..)
•Because the community supports us
•Compare the users group activity from February, 2011 on
between Jenkins and Oracle Hudson
fig. Hudson fig. Jenkins
June 21, 2017 29
Statistics
• Statistics
•The below Java leader board shows Jenkins is most used CI Server in
the industry
June 21, 2017 30
Statistics
• Statistics
June 21, 2017 31
Conclusion
•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 it’s core feature set and
extensibility through a plugin system.
June 21, 2017 32
References
•References
•Continuous Integration – Martin Fowler
•http://www.martinfowler.com/articles/continuousIntegration.html
•Hudson
•http://hudson-ci.org/
•Hudson Continuous Integration Server
•http://www.code-magazine.com/articleprint.aspx?
quickid=0906071&printmode=true
•The Hudson Book
•http://www.eclipse.org/hudson/the-hudson-book/book-hudson.pdf
June 21, 2017 33
References
•References
•Jenkins
•https://wiki.jenkins-ci.org
•Monkey Image
•http://corrines-corner2006.blogspot.com/2011/09/freebie-
monday_26.html
•What is Continuous Integration
•http://confluence.public.thoughtworks.org/display/CCNET/What+is+
Continuous+Integration
June 21, 2017 34
Thank You

More Related Content

What's hot

Cloud Computing Fundamentals
Cloud Computing FundamentalsCloud Computing Fundamentals
Cloud Computing Fundamentals
Yong Heui Cho
 
Cloud Deployment Model
Cloud Deployment ModelCloud Deployment Model
Cloud Deployment Model
Yong Heui Cho
 
Architecture and Practices on Cloud Interoperability and Portability
Architecture and Practices on Cloud Interoperability and PortabilityArchitecture and Practices on Cloud Interoperability and Portability
Architecture and Practices on Cloud Interoperability and Portability
Thomas Lee
 
Cloud computing and Grid Computing
Cloud computing and Grid ComputingCloud computing and Grid Computing
Cloud computing and Grid Computing
prabathsl
 
Cloud Native Migration Steps
Cloud Native Migration StepsCloud Native Migration Steps
Cloud Native Migration Steps
Ranjan Baisak
 
Cloud Computing - Basics
Cloud Computing - BasicsCloud Computing - Basics
Cloud Computing - Basics
Rajmohan Kathiresan
 
Intro
IntroIntro
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
Biswajit Pratihari
 
The Latest in Cloud Computing Standards
The Latest in Cloud Computing StandardsThe Latest in Cloud Computing Standards
The Latest in Cloud Computing Standards
CA API Management
 
Presentation on Cloud Computing
Presentation on Cloud ComputingPresentation on Cloud Computing
Presentation on Cloud Computing
HarpreetKaur1382
 
Collaboration In The Cloud Presentation
Collaboration In The Cloud PresentationCollaboration In The Cloud Presentation
Collaboration In The Cloud Presentation
Patrick Huang
 
Unit 5 -MOVING APPLICATION TO CLOUD
Unit 5 -MOVING APPLICATION TO CLOUDUnit 5 -MOVING APPLICATION TO CLOUD
Unit 5 -MOVING APPLICATION TO CLOUD
MonishaNehkal
 
Cloud computing-pdf
Cloud computing-pdfCloud computing-pdf
Cloud computing-pdf
Subash Basnet
 
Introduction to Cloud
Introduction to CloudIntroduction to Cloud
Introduction to Cloud
Daniel Grennan
 
Demystifying Cloud Computing
Demystifying Cloud Computing Demystifying Cloud Computing
Demystifying Cloud Computing
Fazle Abbas Luqmani
 
Cloud computing
Cloud computingCloud computing
Cloud computing
Cloud computingCloud computing
Cloud computing
Sapna Patil
 
Edge computing presentation
Edge computing presentationEdge computing presentation
Edge computing presentation
FizaKhan82
 
Cloud 2.0: Containers, Microservices and Cloud Hybridization
Cloud 2.0: Containers, Microservices and Cloud HybridizationCloud 2.0: Containers, Microservices and Cloud Hybridization
Cloud 2.0: Containers, Microservices and Cloud Hybridization
Mark Hinkle
 
Introduction of cloud computing
Introduction of cloud computingIntroduction of cloud computing
Introduction of cloud computing
Suman Sharma
 

What's hot (20)

Cloud Computing Fundamentals
Cloud Computing FundamentalsCloud Computing Fundamentals
Cloud Computing Fundamentals
 
Cloud Deployment Model
Cloud Deployment ModelCloud Deployment Model
Cloud Deployment Model
 
Architecture and Practices on Cloud Interoperability and Portability
Architecture and Practices on Cloud Interoperability and PortabilityArchitecture and Practices on Cloud Interoperability and Portability
Architecture and Practices on Cloud Interoperability and Portability
 
Cloud computing and Grid Computing
Cloud computing and Grid ComputingCloud computing and Grid Computing
Cloud computing and Grid Computing
 
Cloud Native Migration Steps
Cloud Native Migration StepsCloud Native Migration Steps
Cloud Native Migration Steps
 
Cloud Computing - Basics
Cloud Computing - BasicsCloud Computing - Basics
Cloud Computing - Basics
 
Intro
IntroIntro
Intro
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
The Latest in Cloud Computing Standards
The Latest in Cloud Computing StandardsThe Latest in Cloud Computing Standards
The Latest in Cloud Computing Standards
 
Presentation on Cloud Computing
Presentation on Cloud ComputingPresentation on Cloud Computing
Presentation on Cloud Computing
 
Collaboration In The Cloud Presentation
Collaboration In The Cloud PresentationCollaboration In The Cloud Presentation
Collaboration In The Cloud Presentation
 
Unit 5 -MOVING APPLICATION TO CLOUD
Unit 5 -MOVING APPLICATION TO CLOUDUnit 5 -MOVING APPLICATION TO CLOUD
Unit 5 -MOVING APPLICATION TO CLOUD
 
Cloud computing-pdf
Cloud computing-pdfCloud computing-pdf
Cloud computing-pdf
 
Introduction to Cloud
Introduction to CloudIntroduction to Cloud
Introduction to Cloud
 
Demystifying Cloud Computing
Demystifying Cloud Computing Demystifying Cloud Computing
Demystifying Cloud Computing
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Edge computing presentation
Edge computing presentationEdge computing presentation
Edge computing presentation
 
Cloud 2.0: Containers, Microservices and Cloud Hybridization
Cloud 2.0: Containers, Microservices and Cloud HybridizationCloud 2.0: Containers, Microservices and Cloud Hybridization
Cloud 2.0: Containers, Microservices and Cloud Hybridization
 
Introduction of cloud computing
Introduction of cloud computingIntroduction of cloud computing
Introduction of cloud computing
 

Viewers also liked

Ejb
EjbEjb
Visual basics
Visual basicsVisual basics
Visual basics
Mallikarjuna G D
 
Build tool
Build toolBuild tool
Build tool
Mallikarjuna G D
 
ETL
ETLETL
Jdbc
JdbcJdbc
Maven
MavenMaven
Web services engine
Web services engineWeb services engine
Web services engine
Mallikarjuna G D
 
Ide benchmarking
Ide benchmarkingIde benchmarking
Ide benchmarking
Mallikarjuna G D
 
Training
TrainingTraining
Project excursion career_orientation
Project excursion career_orientationProject excursion career_orientation
Project excursion career_orientation
Mallikarjuna G D
 
Digital marketing
Digital marketingDigital marketing
Digital marketing
Mallikarjuna G D
 

Viewers also liked (11)

Ejb
EjbEjb
Ejb
 
Visual basics
Visual basicsVisual basics
Visual basics
 
Build tool
Build toolBuild tool
Build tool
 
ETL
ETLETL
ETL
 
Jdbc
JdbcJdbc
Jdbc
 
Maven
MavenMaven
Maven
 
Web services engine
Web services engineWeb services engine
Web services engine
 
Ide benchmarking
Ide benchmarkingIde benchmarking
Ide benchmarking
 
Training
TrainingTraining
Training
 
Project excursion career_orientation
Project excursion career_orientationProject excursion career_orientation
Project excursion career_orientation
 
Digital marketing
Digital marketingDigital marketing
Digital marketing
 

Similar to Ci

software technology benchmarking
software  technology benchmarkingsoftware  technology benchmarking
software technology benchmarking
Mallikarjuna G D
 
Standardizing Jenkins with CloudBees Jenkins Team
Standardizing Jenkins with CloudBees Jenkins TeamStandardizing Jenkins with CloudBees Jenkins Team
Standardizing Jenkins with CloudBees Jenkins Team
Deborah Schalm
 
Standardizing Jenkins with CloudBees Jenkins Team
Standardizing Jenkins with CloudBees Jenkins TeamStandardizing Jenkins with CloudBees Jenkins Team
Standardizing Jenkins with CloudBees Jenkins Team
DevOps.com
 
Continuous Delivery with Jenkins
Continuous Delivery with JenkinsContinuous Delivery with Jenkins
Continuous Delivery with Jenkins
Jadson Santos
 
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems IntegrationJenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
Oleg Nenashev
 
Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]
Perforce
 
Louisville Software Engineering Meet Up: Continuous Integration Using Jenkins
Louisville Software Engineering Meet Up: Continuous Integration Using JenkinsLouisville Software Engineering Meet Up: Continuous Integration Using Jenkins
Louisville Software Engineering Meet Up: Continuous Integration Using Jenkins
James Strong
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins Introduction
Pavan Gupta
 
Jenkins.pdf
Jenkins.pdfJenkins.pdf
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
pCloudy
 
Building an Enterprise Continuous Delivery machine around Jenkins
Building an Enterprise Continuous Delivery machine around JenkinsBuilding an Enterprise Continuous Delivery machine around Jenkins
Building an Enterprise Continuous Delivery machine around Jenkins
XebiaLabs
 
Sencha Products - Coderage Conference
Sencha Products - Coderage ConferenceSencha Products - Coderage Conference
Sencha Products - Coderage Conference
Sandeep Adwankar
 
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
Endava
 
PHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationPHP Unconference Continuous Integration
PHP Unconference Continuous Integration
Nils Hofmeister
 
Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...
Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...
Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...
Senturus
 
Implement DevOps Like a Unicorn—Even If You’re Not One
Implement DevOps Like a Unicorn—Even If You’re Not OneImplement DevOps Like a Unicorn—Even If You’re Not One
Implement DevOps Like a Unicorn—Even If You’re Not One
TechWell
 
DevOps
DevOpsDevOps
DevOps
RavneetArora
 
Jenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryJenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous Delivery
Virendra Bhalothia
 
Contineous integration
Contineous integrationContineous integration
Contineous integration
Radhakrishna Mutthoju
 
Who *is* Jenkins?
Who *is* Jenkins?Who *is* Jenkins?
Who *is* Jenkins?
Andrew Bayer
 

Similar to Ci (20)

software technology benchmarking
software  technology benchmarkingsoftware  technology benchmarking
software technology benchmarking
 
Standardizing Jenkins with CloudBees Jenkins Team
Standardizing Jenkins with CloudBees Jenkins TeamStandardizing Jenkins with CloudBees Jenkins Team
Standardizing Jenkins with CloudBees Jenkins Team
 
Standardizing Jenkins with CloudBees Jenkins Team
Standardizing Jenkins with CloudBees Jenkins TeamStandardizing Jenkins with CloudBees Jenkins Team
Standardizing Jenkins with CloudBees Jenkins Team
 
Continuous Delivery with Jenkins
Continuous Delivery with JenkinsContinuous Delivery with Jenkins
Continuous Delivery with Jenkins
 
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems IntegrationJenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
 
Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]
 
Louisville Software Engineering Meet Up: Continuous Integration Using Jenkins
Louisville Software Engineering Meet Up: Continuous Integration Using JenkinsLouisville Software Engineering Meet Up: Continuous Integration Using Jenkins
Louisville Software Engineering Meet Up: Continuous Integration Using Jenkins
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins Introduction
 
Jenkins.pdf
Jenkins.pdfJenkins.pdf
Jenkins.pdf
 
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
 
Building an Enterprise Continuous Delivery machine around Jenkins
Building an Enterprise Continuous Delivery machine around JenkinsBuilding an Enterprise Continuous Delivery machine around Jenkins
Building an Enterprise Continuous Delivery machine around Jenkins
 
Sencha Products - Coderage Conference
Sencha Products - Coderage ConferenceSencha Products - Coderage Conference
Sencha Products - Coderage Conference
 
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
 
PHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationPHP Unconference Continuous Integration
PHP Unconference Continuous Integration
 
Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...
Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...
Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...
 
Implement DevOps Like a Unicorn—Even If You’re Not One
Implement DevOps Like a Unicorn—Even If You’re Not OneImplement DevOps Like a Unicorn—Even If You’re Not One
Implement DevOps Like a Unicorn—Even If You’re Not One
 
DevOps
DevOpsDevOps
DevOps
 
Jenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryJenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous Delivery
 
Contineous integration
Contineous integrationContineous integration
Contineous integration
 
Who *is* Jenkins?
Who *is* Jenkins?Who *is* Jenkins?
Who *is* Jenkins?
 

More from Mallikarjuna G D

Reactjs
ReactjsReactjs
Bootstrap 5 ppt
Bootstrap 5 pptBootstrap 5 ppt
Bootstrap 5 ppt
Mallikarjuna G D
 
CSS
CSSCSS
Angular 2.0
Angular  2.0Angular  2.0
Angular 2.0
Mallikarjuna G D
 
Spring andspringboot training
Spring andspringboot trainingSpring andspringboot training
Spring andspringboot training
Mallikarjuna G D
 
Hibernate
HibernateHibernate
Hibernate
Mallikarjuna G D
 
Jspprogramming
JspprogrammingJspprogramming
Jspprogramming
Mallikarjuna G D
 
Servlet programming
Servlet programmingServlet programming
Servlet programming
Mallikarjuna G D
 
Servlet programming
Servlet programmingServlet programming
Servlet programming
Mallikarjuna G D
 
Mmg logistics edu-final
Mmg  logistics edu-finalMmg  logistics edu-final
Mmg logistics edu-final
Mallikarjuna G D
 
Interview preparation net_asp_csharp
Interview preparation net_asp_csharpInterview preparation net_asp_csharp
Interview preparation net_asp_csharp
Mallikarjuna G D
 
Interview preparation devops
Interview preparation devopsInterview preparation devops
Interview preparation devops
Mallikarjuna G D
 
Interview preparation testing
Interview preparation testingInterview preparation testing
Interview preparation testing
Mallikarjuna G D
 
Interview preparation data_science
Interview preparation data_scienceInterview preparation data_science
Interview preparation data_science
Mallikarjuna G D
 
Interview preparation full_stack_java
Interview preparation full_stack_javaInterview preparation full_stack_java
Interview preparation full_stack_java
Mallikarjuna G D
 
Enterprunership
EnterprunershipEnterprunership
Enterprunership
Mallikarjuna G D
 
Core java
Core javaCore java
Core java
Mallikarjuna G D
 
Type script
Type scriptType script
Type script
Mallikarjuna G D
 
Angularj2.0
Angularj2.0Angularj2.0
Angularj2.0
Mallikarjuna G D
 
Git Overview
Git OverviewGit Overview
Git Overview
Mallikarjuna G D
 

More from Mallikarjuna G D (20)

Reactjs
ReactjsReactjs
Reactjs
 
Bootstrap 5 ppt
Bootstrap 5 pptBootstrap 5 ppt
Bootstrap 5 ppt
 
CSS
CSSCSS
CSS
 
Angular 2.0
Angular  2.0Angular  2.0
Angular 2.0
 
Spring andspringboot training
Spring andspringboot trainingSpring andspringboot training
Spring andspringboot training
 
Hibernate
HibernateHibernate
Hibernate
 
Jspprogramming
JspprogrammingJspprogramming
Jspprogramming
 
Servlet programming
Servlet programmingServlet programming
Servlet programming
 
Servlet programming
Servlet programmingServlet programming
Servlet programming
 
Mmg logistics edu-final
Mmg  logistics edu-finalMmg  logistics edu-final
Mmg logistics edu-final
 
Interview preparation net_asp_csharp
Interview preparation net_asp_csharpInterview preparation net_asp_csharp
Interview preparation net_asp_csharp
 
Interview preparation devops
Interview preparation devopsInterview preparation devops
Interview preparation devops
 
Interview preparation testing
Interview preparation testingInterview preparation testing
Interview preparation testing
 
Interview preparation data_science
Interview preparation data_scienceInterview preparation data_science
Interview preparation data_science
 
Interview preparation full_stack_java
Interview preparation full_stack_javaInterview preparation full_stack_java
Interview preparation full_stack_java
 
Enterprunership
EnterprunershipEnterprunership
Enterprunership
 
Core java
Core javaCore java
Core java
 
Type script
Type scriptType script
Type script
 
Angularj2.0
Angularj2.0Angularj2.0
Angularj2.0
 
Git Overview
Git OverviewGit Overview
Git Overview
 

Recently uploaded

1-NLC-MATH7-Consolidation-Lesson1 2024.pptx
1-NLC-MATH7-Consolidation-Lesson1 2024.pptx1-NLC-MATH7-Consolidation-Lesson1 2024.pptx
1-NLC-MATH7-Consolidation-Lesson1 2024.pptx
AnneMarieJacildo
 
NLC Grade 3.................................... ppt.pptx
NLC Grade 3.................................... ppt.pptxNLC Grade 3.................................... ppt.pptx
NLC Grade 3.................................... ppt.pptx
MichelleDeLaCruz93
 
How to Configure Time Off Types in Odoo 17
How to Configure Time Off Types in Odoo 17How to Configure Time Off Types in Odoo 17
How to Configure Time Off Types in Odoo 17
Celine George
 
How to Store Data on the Odoo 17 Website
How to Store Data on the Odoo 17 WebsiteHow to Store Data on the Odoo 17 Website
How to Store Data on the Odoo 17 Website
Celine George
 
Odoo 17 Social Marketing - Lead Generation On Facebook
Odoo 17 Social Marketing - Lead Generation On FacebookOdoo 17 Social Marketing - Lead Generation On Facebook
Odoo 17 Social Marketing - Lead Generation On Facebook
Celine George
 
Principles of Roods Approach!!!!!!!.pptx
Principles of Roods Approach!!!!!!!.pptxPrinciples of Roods Approach!!!!!!!.pptx
Principles of Roods Approach!!!!!!!.pptx
ibtesaam huma
 
The Jewish Trinity : Sabbath,Shekinah and Sanctuary 4.pdf
The Jewish Trinity : Sabbath,Shekinah and Sanctuary 4.pdfThe Jewish Trinity : Sabbath,Shekinah and Sanctuary 4.pdf
The Jewish Trinity : Sabbath,Shekinah and Sanctuary 4.pdf
JackieSparrow3
 
How To Create a Transient Model in Odoo 17
How To Create a Transient Model in Odoo 17How To Create a Transient Model in Odoo 17
How To Create a Transient Model in Odoo 17
Celine George
 
matatag curriculum education for Kindergarten
matatag curriculum education for Kindergartenmatatag curriculum education for Kindergarten
matatag curriculum education for Kindergarten
SarahAlie1
 
How to Add Colour Kanban Records in Odoo 17 Notebook
How to Add Colour Kanban Records in Odoo 17 NotebookHow to Add Colour Kanban Records in Odoo 17 Notebook
How to Add Colour Kanban Records in Odoo 17 Notebook
Celine George
 
Split Shifts From Gantt View in the Odoo 17
Split Shifts From Gantt View in the  Odoo 17Split Shifts From Gantt View in the  Odoo 17
Split Shifts From Gantt View in the Odoo 17
Celine George
 
Is Email Marketing Really Effective In 2024?
Is Email Marketing Really Effective In 2024?Is Email Marketing Really Effective In 2024?
Is Email Marketing Really Effective In 2024?
Rakesh Jalan
 
No, it's not a robot: prompt writing for investigative journalism
No, it's not a robot: prompt writing for investigative journalismNo, it's not a robot: prompt writing for investigative journalism
No, it's not a robot: prompt writing for investigative journalism
Paul Bradshaw
 
How to Handle the Separate Discount Account on Invoice in Odoo 17
How to Handle the Separate Discount Account on Invoice in Odoo 17How to Handle the Separate Discount Account on Invoice in Odoo 17
How to Handle the Separate Discount Account on Invoice in Odoo 17
Celine George
 
Unlocking Educational Synergy-DIKSHA & Google Classroom.pptx
Unlocking Educational Synergy-DIKSHA & Google Classroom.pptxUnlocking Educational Synergy-DIKSHA & Google Classroom.pptx
Unlocking Educational Synergy-DIKSHA & Google Classroom.pptx
bipin95
 
Neuroimaging Mastery Project: Presentation #6 Subarachnoid Hemorrhage
Neuroimaging Mastery Project: Presentation #6 Subarachnoid HemorrhageNeuroimaging Mastery Project: Presentation #6 Subarachnoid Hemorrhage
Neuroimaging Mastery Project: Presentation #6 Subarachnoid Hemorrhage
Sean M. Fox
 
ENGLISH-7-CURRICULUM MAP- MATATAG CURRICULUM
ENGLISH-7-CURRICULUM MAP- MATATAG CURRICULUMENGLISH-7-CURRICULUM MAP- MATATAG CURRICULUM
ENGLISH-7-CURRICULUM MAP- MATATAG CURRICULUM
HappieMontevirgenCas
 
L1 L2- NLC PPT for Grade 10 intervention
L1 L2- NLC PPT for Grade 10 interventionL1 L2- NLC PPT for Grade 10 intervention
L1 L2- NLC PPT for Grade 10 intervention
RHODAJANEAURESTILA
 
Kesadaran_Berbangsa_dan_Bernegara_Nasion.pptx
Kesadaran_Berbangsa_dan_Bernegara_Nasion.pptxKesadaran_Berbangsa_dan_Bernegara_Nasion.pptx
Kesadaran_Berbangsa_dan_Bernegara_Nasion.pptx
artenzmartenkai
 
Individual Performance Commitment Review Form-Developmental Plan.docx
Individual Performance Commitment Review Form-Developmental Plan.docxIndividual Performance Commitment Review Form-Developmental Plan.docx
Individual Performance Commitment Review Form-Developmental Plan.docx
monicaaringo1
 

Recently uploaded (20)

1-NLC-MATH7-Consolidation-Lesson1 2024.pptx
1-NLC-MATH7-Consolidation-Lesson1 2024.pptx1-NLC-MATH7-Consolidation-Lesson1 2024.pptx
1-NLC-MATH7-Consolidation-Lesson1 2024.pptx
 
NLC Grade 3.................................... ppt.pptx
NLC Grade 3.................................... ppt.pptxNLC Grade 3.................................... ppt.pptx
NLC Grade 3.................................... ppt.pptx
 
How to Configure Time Off Types in Odoo 17
How to Configure Time Off Types in Odoo 17How to Configure Time Off Types in Odoo 17
How to Configure Time Off Types in Odoo 17
 
How to Store Data on the Odoo 17 Website
How to Store Data on the Odoo 17 WebsiteHow to Store Data on the Odoo 17 Website
How to Store Data on the Odoo 17 Website
 
Odoo 17 Social Marketing - Lead Generation On Facebook
Odoo 17 Social Marketing - Lead Generation On FacebookOdoo 17 Social Marketing - Lead Generation On Facebook
Odoo 17 Social Marketing - Lead Generation On Facebook
 
Principles of Roods Approach!!!!!!!.pptx
Principles of Roods Approach!!!!!!!.pptxPrinciples of Roods Approach!!!!!!!.pptx
Principles of Roods Approach!!!!!!!.pptx
 
The Jewish Trinity : Sabbath,Shekinah and Sanctuary 4.pdf
The Jewish Trinity : Sabbath,Shekinah and Sanctuary 4.pdfThe Jewish Trinity : Sabbath,Shekinah and Sanctuary 4.pdf
The Jewish Trinity : Sabbath,Shekinah and Sanctuary 4.pdf
 
How To Create a Transient Model in Odoo 17
How To Create a Transient Model in Odoo 17How To Create a Transient Model in Odoo 17
How To Create a Transient Model in Odoo 17
 
matatag curriculum education for Kindergarten
matatag curriculum education for Kindergartenmatatag curriculum education for Kindergarten
matatag curriculum education for Kindergarten
 
How to Add Colour Kanban Records in Odoo 17 Notebook
How to Add Colour Kanban Records in Odoo 17 NotebookHow to Add Colour Kanban Records in Odoo 17 Notebook
How to Add Colour Kanban Records in Odoo 17 Notebook
 
Split Shifts From Gantt View in the Odoo 17
Split Shifts From Gantt View in the  Odoo 17Split Shifts From Gantt View in the  Odoo 17
Split Shifts From Gantt View in the Odoo 17
 
Is Email Marketing Really Effective In 2024?
Is Email Marketing Really Effective In 2024?Is Email Marketing Really Effective In 2024?
Is Email Marketing Really Effective In 2024?
 
No, it's not a robot: prompt writing for investigative journalism
No, it's not a robot: prompt writing for investigative journalismNo, it's not a robot: prompt writing for investigative journalism
No, it's not a robot: prompt writing for investigative journalism
 
How to Handle the Separate Discount Account on Invoice in Odoo 17
How to Handle the Separate Discount Account on Invoice in Odoo 17How to Handle the Separate Discount Account on Invoice in Odoo 17
How to Handle the Separate Discount Account on Invoice in Odoo 17
 
Unlocking Educational Synergy-DIKSHA & Google Classroom.pptx
Unlocking Educational Synergy-DIKSHA & Google Classroom.pptxUnlocking Educational Synergy-DIKSHA & Google Classroom.pptx
Unlocking Educational Synergy-DIKSHA & Google Classroom.pptx
 
Neuroimaging Mastery Project: Presentation #6 Subarachnoid Hemorrhage
Neuroimaging Mastery Project: Presentation #6 Subarachnoid HemorrhageNeuroimaging Mastery Project: Presentation #6 Subarachnoid Hemorrhage
Neuroimaging Mastery Project: Presentation #6 Subarachnoid Hemorrhage
 
ENGLISH-7-CURRICULUM MAP- MATATAG CURRICULUM
ENGLISH-7-CURRICULUM MAP- MATATAG CURRICULUMENGLISH-7-CURRICULUM MAP- MATATAG CURRICULUM
ENGLISH-7-CURRICULUM MAP- MATATAG CURRICULUM
 
L1 L2- NLC PPT for Grade 10 intervention
L1 L2- NLC PPT for Grade 10 interventionL1 L2- NLC PPT for Grade 10 intervention
L1 L2- NLC PPT for Grade 10 intervention
 
Kesadaran_Berbangsa_dan_Bernegara_Nasion.pptx
Kesadaran_Berbangsa_dan_Bernegara_Nasion.pptxKesadaran_Berbangsa_dan_Bernegara_Nasion.pptx
Kesadaran_Berbangsa_dan_Bernegara_Nasion.pptx
 
Individual Performance Commitment Review Form-Developmental Plan.docx
Individual Performance Commitment Review Form-Developmental Plan.docxIndividual Performance Commitment Review Form-Developmental Plan.docx
Individual Performance Commitment Review Form-Developmental Plan.docx
 

Ci

  • 1. June 21, 2017 1 Continuous Integration Tools
  • 2. June 21, 2017 www.snipe.co.in 2 Prepared :Snipe Team
  • 3. June 21, 2017 3 Agenda •continuous integration -Various Build tools •Hudson Overview - what is Hudson - Features of Hudson - Why Hudson? - Hudson History • Jenkins Overview - What is Jenkins -Features Jenkins -Why Jenkins? - Jenkins History • Difference B/W Hudson and Jenkins
  • 4. June 21, 2017 4 Continuous Integration • What is Continuous Integration? •Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early. •By integrating regularly, you can detect errors quickly, and locate them more easily.
  • 5. June 21, 2017 5 CI - Means • 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
  • 6. June 21, 2017 6 CI – Workflow • CI – Workflow
  • 7. June 21, 2017 7 Build tools •Continuous Integration Process Initial Checkout Build Locally Develop Commit to Repository Fix Errors Build Locally Build Locally Remote Build Update from SCM
  • 8. June 21, 2017 8 CI - Benifits •Benefits of Continuous Integration? •Say goodbye to long and tense integrations •Increase visibility which enables greater communication •Catch issues fast and nip them in the bud •Spend less time debugging and more time adding features •Proceed in the confidence you’re building on a solid foundation •Stop waiting to find out if your code’s going to work •Reduce integration problems allowing you to deliver software more rapidly
  • 9. June 21, 2017 9 CI -Tools •CI – The tools •Code Repositories •SVN, Mercurial, Git •Continuous Build Systems •Jenkins, Hudson, Cruise Control •Test Frameworks •JUnit, Cucumber, CppUnit •Artefact Repositories •Nexus, Artifactory, Archiva
  • 10. June 21, 2017 10 Hudson Overview • What is Hudson ? • Continuous Integration 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. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly • Hudson excels at integrating with almost every tool you can think of. • Use Apache Maven, Apache Ant or Gradle or anything you can start with a command line script for builds and send messages via email, SMS, IRC and Skype for notifications.
  • 11. June 21, 2017 11 Hudson Benifits • Hudson Benefits •Never gets bored doing builds and tests • Catches problems fast • Alerts developers while code is fresh in their minds • Prevents bugs from propagating downstream • Cheaper to fix bugs earlier, before QA or Deployment
  • 12. June 21, 2017 12 Hudson Architecture • Hudson Architecture
  • 13. June 21, 2017 13 Jenkins Overview
  • 14. June 21, 2017 14 Jenkins - History • Jenkins - History •2005 - Hudson was first release by Kohsuke Kawaguchi Sun Microsystems • 2010 – Oracle bought Sun Microsystems •Due to a naming dispute, Hudson was renamed to Jenkins •Oracle continued development of Hudson (as a branch of the original)
  • 15. June 21, 2017 15 Jenkins – Fitting in • Jenkins – Fitting in
  • 16. June 21, 2017 16 Flexibality • Why Jenkins? Flexibility! •Jenkins is a highly configurable system by itself. • The additional community developed plugins provide even more flexibility. •By combining Jenkins with Ant, Gradle, or other Build Automation tools, the possibilities are limitless
  • 17. June 21, 2017 17 Why Jenkins • Why Jenkins? Free/OSS •Jenkins is released under the MIT License •There is a large support community and thorough documentation •It’s easy to write plugins •Think something is wrong with it? You can fix it!
  • 18. June 21, 2017 18 Jenkins - Do • What can Jenkins 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 •…and much more
  • 19. June 21, 2017 19 Jenkins Does •Putting it all together •While an integral part of a CI system, Jenkins is by no means the only component •In order for a CI system to function, a common repository for the codebase needs to exist •A database of artifacts needs to exist, so deliveries can be made at past iterations •The last step in a CI process is the deployment of the components built •…and none of this matters if the developers don’t use the system; procedures need to ensure the system is used as intended
  • 20. June 21, 2017 20 Who use •
  • 21. June 21, 2017 21 Supporters • Running Jenkins yourself •Jenkins is packaged as a WAR, so you can drop it into whichever servlet container you prefer to use •Jenkins comes pre-packaged with a servlet if you just want a light-weight implementation •Native/Supported packages exist for •Windows •Ubuntu/Debian •Redhat/Fedora/CentOS •Mac OSX •openSUSE •FreeBSD •OpenBSD •Solaris/OpenIndiana
  • 22. June 21, 2017 22 Update • Running Jenkins yourself – Updates •Jenkins has two release lines •Standard releases •Weekly bug fixes and features •Long-Term Support releases •Updates about every 3 months •Uses a “Stable but older” version from the standard release line •Changes are limited to backported, well-tested modifications
  • 23. June 21, 2017 23 Cloud-based solutions •Letting someone else run Jenkins •There are also cloud-based solutions that can provide a Jenkins instance •Cloudbees - http://www.cloudbees.com/ •ShiningPanda - https://www.shiningpanda.com/
  • 24. June 21, 2017 24 Jenkins - Agile •Tying it into Agile •For an Agile team, Jenkins provides everything needed for a robust continuous build system •Jenkins supports Agile principles by constantly providing access to working copies of software •Jenkins’ extensibility allows the system to adapt to many different pre- existing environments
  • 25. June 21, 2017 25 Jenkins – Why not Hudson? •Why Choose Jenkins? •Because everyone else has • adoption metrics indicating clear shift in the user base.
  • 26. June 21, 2017 26 Jenkins – Why not Hudson? •Why Choose Jenkins?(cont..) •Because the Hudson team has moved to develop Jenkins •The crew that has been developing Hudson core since its inception is now working on Jenkins. So you can trust our expertise and the the passion to keep pushing the software forward •Because a large number of plugin authors have chosen to support their plugins on Jenkins •Substantial majority of the plugin developers have chosen to stick with the Jenkins project. So you can expect bug fixes and new improvements to them from Jenkins.
  • 27. June 21, 2017 27 Jenkins – Why not Hudson? •Why Choose Jenkins?(cont..) •Because we'll make incremental iterative improvements to the code •The Jenkins team follows the tradition in the Hudson project of making compatible, iterative improvements to the code base that protects your existing data and in-house plugins.
  • 28. June 21, 2017 28 Jenkins – Why not Hudson? •Why Choose Jenkins?(cont..) •Because the community supports us •Compare the users group activity from February, 2011 on between Jenkins and Oracle Hudson fig. Hudson fig. Jenkins
  • 29. June 21, 2017 29 Statistics • Statistics •The below Java leader board shows Jenkins is most used CI Server in the industry
  • 30. June 21, 2017 30 Statistics • Statistics
  • 31. June 21, 2017 31 Conclusion •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 it’s core feature set and extensibility through a plugin system.
  • 32. June 21, 2017 32 References •References •Continuous Integration – Martin Fowler •http://www.martinfowler.com/articles/continuousIntegration.html •Hudson •http://hudson-ci.org/ •Hudson Continuous Integration Server •http://www.code-magazine.com/articleprint.aspx? quickid=0906071&printmode=true •The Hudson Book •http://www.eclipse.org/hudson/the-hudson-book/book-hudson.pdf
  • 33. June 21, 2017 33 References •References •Jenkins •https://wiki.jenkins-ci.org •Monkey Image •http://corrines-corner2006.blogspot.com/2011/09/freebie- monday_26.html •What is Continuous Integration •http://confluence.public.thoughtworks.org/display/CCNET/What+is+ Continuous+Integration
  • 34. June 21, 2017 34 Thank You