SlideShare a Scribd company logo
CONTINUOUS INTEGRATION
~ A GLANCE AT AGILE DEVELOPMENT AND EXTREME
PROGRAMMING~
Tran Duc Thang
Framgia 22/6/2013
Contents
I. Introduction to Continuous Integration
II. Practice Continuous Integration
III. Introduction to Jenkins
IV. Disadvantages
Introduction to CONTINUOUS INTEGRATION
Agile Development
• Agile development is a philosophy, not a
method or process.
• An Agile method is a process that support the
agile philosophy.
• One of the Agile methods is Extreme
Programming. (XP)
Introduction to CONTINUOUS INTEGRATION
Extreme Programming (XP)
• XP is the most prominent Agile Development method.
• XP, like other Agile Development methods, is a set of practices.
• The XP core practices
 Whole Team
 Planning Game
 Small Releases
 Customer Tests
 Simple Design
 Pair Programming
 Test-Driven Development
 Design Improvement
 Continuous Integration
 Collective Code Ownership
 Coding Standard
 Metaphor
 Sustainable Pace
Introduction to CONTINUOUS INTEGRATION
Continuous Integration – The concept
• one of the Agile practices ! CI was first named and proposed as part of XP. Now, many
organizations have adopted CI without adopting all of XP.
• requires developers to integrate code into a shared repository several times a day.
• each check-in is verified by an automated build, allowing teams to detect problems early.
Introduction to CONTINUOUS INTEGRATION
Continuous Integration – The goal
• “Continuous Integration doesn’t get rid of bugs, but it does make them dramatically
easier to find and remove.”
• To make your project able to deploy at any time !
Introduction to CONTINUOUS INTEGRATION
Continuous Integration feat Test-Drive Development
• CI was originally intended to be used in combination with TDD.
• CI without TDD is too risky.
• TDD without CI only proves your code work well on your own computer.
Practice Continuous Integration
Only one rule : NEVER BREAK THE BUILD !
• What works on your computer will work on anybody's computer. The reason like “It has been
working well on my computer” is just invalid !
• The code that has not been proven to build successfully should not appear in the mainline.
Practice Continuous Integration
You need a spare development machine to act as a centre integration machine. It is called
CI Server.
• https://circleci.com/
• https://drone.io/
• https://www.codeship.io/
• CruiseControl
• TeamCity
• Hudson
• Jenkins
• …
Introduction to Jenkins
Jenkins – An Overview
• In 2004, Kohsuke Kawaguchi started the project as a hobby project under the name of
Hudson.
• In 2011, not long after Sun was purchased by Oracle, Kohsuke Kawaguchi and many other
core developers from Hudson forked to a new project, based on Hudson. It is Jenkins.
• By 2010 Jenkins (Hudson) had dominated the Continuous Integration Solution Market, with
the market share of over 70%.
• Jenkins is now used widely by many big companies: Mozilla, LinkedIn, Motorola, eBay,
Yahoo!, Red Hat, NTT Data, Gree, DeNa …
Introduction to Jenkins
Why Jenkins ?
• Cross-platform tool. (written in Java)
• Large community.
• Numbers of plug-in.
• Supports many programming languages (Java, PHP, Ruby, Python …)
• IT IS AN OPEN SOURCE PROJECT. IT IS FREE !!!
Introduction to Jenkins
What can Jenkins do ?
• DEMO
• http://jenkins.mozilla.org/
• http://ci.jenkins-ci.org/
Disadvantages
Nothing is perfect. CI still has disadvantages
• Take lots of time for the initial setup, as well as the training to get acquainted with CI
server.
• Requires many resources for running CI server.
• Required high programming skill. CI can not work well without the professional
programmers who can design and write well-developed test-suites.
References
• http://softwaretest.jp/quality/
• http://www.thoughtworks.com/continuous-integration
• http://www.jamesshore.com/agile-book/
• http://www.ibm.com/developerworks/rational/library/continuous-integration-agile-
development/
• http://jenkins-php.org/
• …
CONTINUOUS INTEGRATION is more than a practice,
IT IS AN ART!

More Related Content

PPTX
Grails hudson ixxus_template
PPTX
Extreme delivery - Lean Agile Scotland 2019 (Abridged)
PPTX
Introducing Continuous Integration Using Vsts
PPT
An Overview Of Silverlight 2
PPT
Extreme programming
PPTX
DevSecOps Introduction Tushar Joshi - Owasp Nagpur Meetup 12 May 2019
PDF
DevOps
PDF
We thought we were doing continuous delivery and then...
Grails hudson ixxus_template
Extreme delivery - Lean Agile Scotland 2019 (Abridged)
Introducing Continuous Integration Using Vsts
An Overview Of Silverlight 2
Extreme programming
DevSecOps Introduction Tushar Joshi - Owasp Nagpur Meetup 12 May 2019
DevOps
We thought we were doing continuous delivery and then...

What's hot (20)

PDF
What the hype
PPTX
Continuous Integration
PPTX
What is-not-devops!
PDF
Continuous Integration: A bittersweet love story
PDF
Ci cd with Openshift
PPTX
DevOps concepts, tools, and technologies v1.0
PDF
DevOps Adoption Patterns
PDF
Agile Upstream and Downstream Webinar - English
PDF
Service mesh with istio
PPTX
Xcode eXtreme Programming - #pragmamark 2014, Milan
PDF
DevOps overview 2019-04-13 Nelkinda April Meetup
PDF
How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit...
PPTX
DevOps introduction
PPTX
DevOps - Overview - One of the Top Trends in IT Industry
PDF
Guided Path to DevOps Career.
PDF
Continuous delivery
PPTX
Devops
PPTX
Technology Development in Early Stage Startup Indonesia
PDF
Frozen DevOps? Team Topologies Comes to the Rescue! @ DevSecOps - London Gath...
PDF
Capture business value faster with a self-service platform
What the hype
Continuous Integration
What is-not-devops!
Continuous Integration: A bittersweet love story
Ci cd with Openshift
DevOps concepts, tools, and technologies v1.0
DevOps Adoption Patterns
Agile Upstream and Downstream Webinar - English
Service mesh with istio
Xcode eXtreme Programming - #pragmamark 2014, Milan
DevOps overview 2019-04-13 Nelkinda April Meetup
How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit...
DevOps introduction
DevOps - Overview - One of the Top Trends in IT Industry
Guided Path to DevOps Career.
Continuous delivery
Devops
Technology Development in Early Stage Startup Indonesia
Frozen DevOps? Team Topologies Comes to the Rescue! @ DevSecOps - London Gath...
Capture business value faster with a self-service platform
Ad

Similar to Continuous integration - ThangTD (20)

PDF
Continuous Integration Introduction
PPTX
Continuous integration with Jenkins
PPT
Introduction to continuous integration
PPTX
Continuous integration using jenkins
PPTX
OVerview of Jenkins - A WIP pPT that needs to be refined
PPT
Continuous Integration (Jenkins/Hudson)
PPTX
Jenkins Introduction
PPTX
Continuous Integration (& Mr Jenkins)
PPT
Continous integration-leon-kehl-2010
PPTX
Introduction to Continuous Integration with Jenkins
PPT
Part 2 improving your software development v1.0
PDF
PDF
Let’s start Continuous Integration with jenkins
PPT
Continuous Integration System
PPTX
Contineous integration
PPT
Continuous Integration Introduction
PPT
Continuous Integration: A Case Study
PPT
Jenkins Overview
PDF
Continuous Integration using Jenkins
Continuous Integration Introduction
Continuous integration with Jenkins
Introduction to continuous integration
Continuous integration using jenkins
OVerview of Jenkins - A WIP pPT that needs to be refined
Continuous Integration (Jenkins/Hudson)
Jenkins Introduction
Continuous Integration (& Mr Jenkins)
Continous integration-leon-kehl-2010
Introduction to Continuous Integration with Jenkins
Part 2 improving your software development v1.0
Let’s start Continuous Integration with jenkins
Continuous Integration System
Contineous integration
Continuous Integration Introduction
Continuous Integration: A Case Study
Jenkins Overview
Continuous Integration using Jenkins
Ad

More from Framgia Vietnam (20)

PDF
Functional Programming With Elixir
PPTX
Dreamers defense
PDF
Timeless - Websocket on Rails
PPTX
Game Development with Pygame
PPTX
Racer Mice - Game Team
PDF
CSS3 Lovers, Gather Together
PDF
Java 8 new features
PPTX
Build public private cloud using openstack
PPT
Introduction to JRuby And JRuby on Rails
ODP
Some ways to DRY in Rails
PPTX
HTML5 DRAG AND DROP
PDF
Create 3D objects insite Cocos2d-x
PPTX
View, Store Procedure & Function and Trigger in MySQL - Thaipt
PPTX
Organize directories for applications with front-end and back-end with yii - ...
ODP
What is new in PHP 5.5 - HuyenNT
PPTX
An idea - NghiaLV
ODP
Audited activerecord - QuanHV
PPT
Delegate - KhanhLD
ODP
Client side validations gem - KhanhHD
PPT
Backbone.js and rails - BanLV
Functional Programming With Elixir
Dreamers defense
Timeless - Websocket on Rails
Game Development with Pygame
Racer Mice - Game Team
CSS3 Lovers, Gather Together
Java 8 new features
Build public private cloud using openstack
Introduction to JRuby And JRuby on Rails
Some ways to DRY in Rails
HTML5 DRAG AND DROP
Create 3D objects insite Cocos2d-x
View, Store Procedure & Function and Trigger in MySQL - Thaipt
Organize directories for applications with front-end and back-end with yii - ...
What is new in PHP 5.5 - HuyenNT
An idea - NghiaLV
Audited activerecord - QuanHV
Delegate - KhanhLD
Client side validations gem - KhanhHD
Backbone.js and rails - BanLV

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Encapsulation theory and applications.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Big Data Technologies - Introduction.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Electronic commerce courselecture one. Pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Spectroscopy.pptx food analysis technology
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Cloud computing and distributed systems.
PPTX
A Presentation on Artificial Intelligence
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Empathic Computing: Creating Shared Understanding
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
NewMind AI Weekly Chronicles - August'25-Week II
Encapsulation_ Review paper, used for researhc scholars
Spectral efficient network and resource selection model in 5G networks
Encapsulation theory and applications.pdf
Review of recent advances in non-invasive hemoglobin estimation
Big Data Technologies - Introduction.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Diabetes mellitus diagnosis method based random forest with bat algorithm
Electronic commerce courselecture one. Pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Unlocking AI with Model Context Protocol (MCP)
MIND Revenue Release Quarter 2 2025 Press Release
Spectroscopy.pptx food analysis technology
gpt5_lecture_notes_comprehensive_20250812015547.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Cloud computing and distributed systems.
A Presentation on Artificial Intelligence
Dropbox Q2 2025 Financial Results & Investor Presentation
Empathic Computing: Creating Shared Understanding
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx

Continuous integration - ThangTD

  • 1. CONTINUOUS INTEGRATION ~ A GLANCE AT AGILE DEVELOPMENT AND EXTREME PROGRAMMING~ Tran Duc Thang Framgia 22/6/2013
  • 2. Contents I. Introduction to Continuous Integration II. Practice Continuous Integration III. Introduction to Jenkins IV. Disadvantages
  • 3. Introduction to CONTINUOUS INTEGRATION Agile Development • Agile development is a philosophy, not a method or process. • An Agile method is a process that support the agile philosophy. • One of the Agile methods is Extreme Programming. (XP)
  • 4. Introduction to CONTINUOUS INTEGRATION Extreme Programming (XP) • XP is the most prominent Agile Development method. • XP, like other Agile Development methods, is a set of practices. • The XP core practices  Whole Team  Planning Game  Small Releases  Customer Tests  Simple Design  Pair Programming  Test-Driven Development  Design Improvement  Continuous Integration  Collective Code Ownership  Coding Standard  Metaphor  Sustainable Pace
  • 5. Introduction to CONTINUOUS INTEGRATION Continuous Integration – The concept • one of the Agile practices ! CI was first named and proposed as part of XP. Now, many organizations have adopted CI without adopting all of XP. • requires developers to integrate code into a shared repository several times a day. • each check-in is verified by an automated build, allowing teams to detect problems early.
  • 6. Introduction to CONTINUOUS INTEGRATION Continuous Integration – The goal • “Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and remove.” • To make your project able to deploy at any time !
  • 7. Introduction to CONTINUOUS INTEGRATION Continuous Integration feat Test-Drive Development • CI was originally intended to be used in combination with TDD. • CI without TDD is too risky. • TDD without CI only proves your code work well on your own computer.
  • 8. Practice Continuous Integration Only one rule : NEVER BREAK THE BUILD ! • What works on your computer will work on anybody's computer. The reason like “It has been working well on my computer” is just invalid ! • The code that has not been proven to build successfully should not appear in the mainline.
  • 9. Practice Continuous Integration You need a spare development machine to act as a centre integration machine. It is called CI Server. • https://circleci.com/ • https://drone.io/ • https://www.codeship.io/ • CruiseControl • TeamCity • Hudson • Jenkins • …
  • 10. Introduction to Jenkins Jenkins – An Overview • In 2004, Kohsuke Kawaguchi started the project as a hobby project under the name of Hudson. • In 2011, not long after Sun was purchased by Oracle, Kohsuke Kawaguchi and many other core developers from Hudson forked to a new project, based on Hudson. It is Jenkins. • By 2010 Jenkins (Hudson) had dominated the Continuous Integration Solution Market, with the market share of over 70%. • Jenkins is now used widely by many big companies: Mozilla, LinkedIn, Motorola, eBay, Yahoo!, Red Hat, NTT Data, Gree, DeNa …
  • 11. Introduction to Jenkins Why Jenkins ? • Cross-platform tool. (written in Java) • Large community. • Numbers of plug-in. • Supports many programming languages (Java, PHP, Ruby, Python …) • IT IS AN OPEN SOURCE PROJECT. IT IS FREE !!!
  • 12. Introduction to Jenkins What can Jenkins do ? • DEMO • http://jenkins.mozilla.org/ • http://ci.jenkins-ci.org/
  • 13. Disadvantages Nothing is perfect. CI still has disadvantages • Take lots of time for the initial setup, as well as the training to get acquainted with CI server. • Requires many resources for running CI server. • Required high programming skill. CI can not work well without the professional programmers who can design and write well-developed test-suites.
  • 14. References • http://softwaretest.jp/quality/ • http://www.thoughtworks.com/continuous-integration • http://www.jamesshore.com/agile-book/ • http://www.ibm.com/developerworks/rational/library/continuous-integration-agile- development/ • http://jenkins-php.org/ • …
  • 15. CONTINUOUS INTEGRATION is more than a practice, IT IS AN ART!