SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie Continues Integration

Orbitz World Wide An Architectures Response To Growth And Change
Orbitz World Wide An Architectures Response To Growth And ChangeOrbitz World Wide An Architectures Response To Growth And Change
Orbitz World Wide An Architectures Response To Growth And Change
ConSanFrancisco123
 
"はじめてのKong Konnect" APIゲートウェイと Service Meshについて学ぼう!
"はじめてのKong Konnect" APIゲートウェイと Service Meshについて学ぼう! "はじめてのKong Konnect" APIゲートウェイと Service Meshについて学ぼう!
"はじめてのKong Konnect" APIゲートウェイと Service Meshについて学ぼう!
Junji Nishihara
 

Ähnlich wie Continues Integration (10)

Kanban Method July 2018
Kanban Method July 2018Kanban Method July 2018
Kanban Method July 2018
 
DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...
DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...
DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...
 
VersaPay's Tools for Happyfficient Developers
VersaPay's Tools for Happyfficient DevelopersVersaPay's Tools for Happyfficient Developers
VersaPay's Tools for Happyfficient Developers
 
Concourse updates
Concourse updatesConcourse updates
Concourse updates
 
Drupal In The Cloud
Drupal In The CloudDrupal In The Cloud
Drupal In The Cloud
 
Orbitz World Wide An Architectures Response To Growth And Change
Orbitz World Wide An Architectures Response To Growth And ChangeOrbitz World Wide An Architectures Response To Growth And Change
Orbitz World Wide An Architectures Response To Growth And Change
 
Is Your API Misbehaving (workshop)
Is Your API Misbehaving (workshop)Is Your API Misbehaving (workshop)
Is Your API Misbehaving (workshop)
 
Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017 Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017
 
"はじめてのKong Konnect" APIゲートウェイと Service Meshについて学ぼう!
"はじめてのKong Konnect" APIゲートウェイと Service Meshについて学ぼう! "はじめてのKong Konnect" APIゲートウェイと Service Meshについて学ぼう!
"はじめてのKong Konnect" APIゲートウェイと Service Meshについて学ぼう!
 
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Continues Integration