SlideShare a Scribd company logo
Continues Integration

         Johan Aludden
     Twitter: johanaludden
  Mail: me@johanaludden.com
Blog: johanaludden.com/weblog
What is Continues Integration?
•   Compile continuously
•   Test continuously
•   Prepare installation continuously
•   Measure quality continuously
•   Create documentation continuously




                                   2
Components
•   Developers
•   Version Control Repository
•   CI server
•   Build script
•   Feedback
•   Integration Build Machine




                                 3
Developers
• Makes Changes to code
• Runs a private Build
• Commits changes




                          4
Version Control Repository
•   Central point of truth
•   Good Practice
•   History
•   CVS, SVN, Perforce, Git




                              5
CI server
•   Checks for changes
•   Retrieves changes
•   Runs build script(s)
•   Dashboard




                            6
Build Script
• Automated
• Complete
• Launched from Command line




                               7
Feedback
•   Email
•   Instant messaging
•   SMS
•   RSS
•   Sounds
•   Monitor



                          8
Integration Build Machine
• Dedicated
• The reference




                         9
Benefits
•   Risk reduction
•   Less repetition
•   Generate Deployable Software
•   Increase Visibility
•   More Confidence




                                   10
Excuses
•   Increasing maintenance
•   Too much change
•   Frequently failed builds
•   Additional cost
•   Should already be made




                               11
First steps
•   Centralized repository
•   Compile code
•   Package binaries
•   Add testing
•   Add inspections




                             12
Common Problems
•   Long build time
•   Frequently failed builds
•   To much information
•   Many target platforms




                               13
Long build time
• Make it faster
• Split and run in Parallell
• Split and run in Sequence




                               14
Frequently failed builds
•   Are all committed?
•   Can the devs run on local machine?
•   Code to fragile?
•   Tests to fragile?




                                    15
To much information
•   Is all information necessary
•   What information can be removed
•   Multiple source of information
•   Pull not push
•   Visualize information




                                  16
Many target platforms
• One CI server per platform
• Compile code
• Package binaries




                               17
Pipelines
• Jobs
  – Runs in Parallell
• Stages
  – Runs in sequence
  – contains 1 or more jobs




                              18
Pipeline




           19
Pipeline

Stage




           19
Pipeline

Stage
  Job

  Job




           19
Pipeline

Stage      Stage
  Job       Job

  Job       Job




                   19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           20
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           20
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           20
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           20
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           20
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           20
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           20
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           20
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           20
CI servers
•   CruiseControl
•   Hudson
•   Cruise
•   Bamboo




                            21
Links
• Martin Fowler (http://martinfowler.com/articles/continuousIntegration.html)
• Book (http://www.amazon.com/Continuous-Integration-Improving-Software-
   Reducing/dp/0321336380)

• CruiseControl (http://cruisecontrol.sourceforge.net/)
• Hudson (https://hudson.dev.java.net/)
• WikiPedia (http://en.wikipedia.org/wiki/Continuous_integration/)




                                                                     22
Questions?




             23

More Related Content

PDF
Distributed Versioning Tools, BeJUG 2010
PPTX
How To Use FTP In cPanel?
PPT
Git essentials
PDF
Gitlab Training with GIT and SourceTree
PPTX
Continuous delivery applied (RJUG)
PPTX
Continuous delivery applied (DC CI User Group)
PPTX
Continuous Delivery Applied (AgileDC)
PPTX
Continuous delivery applied
Distributed Versioning Tools, BeJUG 2010
How To Use FTP In cPanel?
Git essentials
Gitlab Training with GIT and SourceTree
Continuous delivery applied (RJUG)
Continuous delivery applied (DC CI User Group)
Continuous Delivery Applied (AgileDC)
Continuous delivery applied

Similar to Continues Integration (20)

PPTX
Continuous Delivery Applied (Agile Richmond)
PPTX
Continuous Delivery Applied
PPTX
Continuous Delivery Applied
PPTX
Continuous delivery continuous integration 0.3
PPTX
Linuxtag 2012 - continuous delivery - dream to reality
KEY
Continuous deployment
PDF
Hudson: from build jobs to build pipelines
PPTX
Software Lifecycle
PPT
PowerPoint Presentation
PPTX
Continuous Delivery
KEY
Developing for Remote Bamboo Agents, AtlasCamp US 2012
PDF
Continuous Delivery (Internet-Briefing 2012-04-03)
PDF
Continuous Delivery Overview
PPTX
Continuous integration
PDF
Quickstart for continuous integration
PPTX
The Agile PMP v2
PPTX
Architecting for continuous delivery (33rd Degree)
ZIP
Continuous Integration, Build Pipelines and Continuous Deployment
PDF
Agile & ALM tools
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied
Continuous Delivery Applied
Continuous delivery continuous integration 0.3
Linuxtag 2012 - continuous delivery - dream to reality
Continuous deployment
Hudson: from build jobs to build pipelines
Software Lifecycle
PowerPoint Presentation
Continuous Delivery
Developing for Remote Bamboo Agents, AtlasCamp US 2012
Continuous Delivery (Internet-Briefing 2012-04-03)
Continuous Delivery Overview
Continuous integration
Quickstart for continuous integration
The Agile PMP v2
Architecting for continuous delivery (33rd Degree)
Continuous Integration, Build Pipelines and Continuous Deployment
Agile & ALM tools
Ad

Recently uploaded (20)

PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
cuic standard and advanced reporting.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Big Data Technologies - Introduction.pptx
PPT
Teaching material agriculture food technology
PPTX
Tartificialntelligence_presentation.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Getting Started with Data Integration: FME Form 101
PDF
Machine learning based COVID-19 study performance prediction
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Machine Learning_overview_presentation.pptx
Encapsulation_ Review paper, used for researhc scholars
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Dropbox Q2 2025 Financial Results & Investor Presentation
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Empathic Computing: Creating Shared Understanding
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectral efficient network and resource selection model in 5G networks
cuic standard and advanced reporting.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Big Data Technologies - Introduction.pptx
Teaching material agriculture food technology
Tartificialntelligence_presentation.pptx
Spectroscopy.pptx food analysis technology
Getting Started with Data Integration: FME Form 101
Machine learning based COVID-19 study performance prediction
The Rise and Fall of 3GPP – Time for a Sabbatical?
Reach Out and Touch Someone: Haptics and Empathic Computing
Per capita expenditure prediction using model stacking based on satellite ima...
Advanced methodologies resolving dimensionality complications for autism neur...
Machine Learning_overview_presentation.pptx
Ad

Continues Integration