SlideShare a Scribd company logo
1 of 41
<intent >   !"#$%




Continuous Integration Saves the Day
Kurt Schrader
Head of Engineering - Intent Media
March 10, 2010
<intent >   !"#$%




What?



                            2
<intent >   !"#$%




http://www.flickr.com/photos/27147/3411775886/
                                                                    3
<intent >   !"#$%




http://www.flickr.com/photos/bengtserenius/211225580/
                                                                           4
<intent >   !"#$%




Build Continuously



                                    5
<intent >   !"#$%




Test Continuously



                                   6
<intent >   !"#$%




Why?



                           7
<intent >   !"#$%




http://www.flickr.com/photos/ericejohnson/4294710367/                       8
<intent >   !"#$%




      $160 M
http://www.flickr.com/photos/ericejohnson/4294710367/                       8
<intent >   !"#$%




Allows for change



                                   9
<intent >   !"#$%




Safety Net



                             10
<intent >   !"#$%




How?



                       11
<intent >   !"#$%




Version Control



                              12
<intent >   !"#$%




Automated Tests



                              13
<intent >   !"#$%




Automated Build



                              14
<intent >   !"#$%




Frequent Commits



                              15
<intent >   !"#$%




Make Things Visible!



                                  16
<intent >   !"#$%



Easy continuous integration recipe

·   Way to run an automated build
    >   ant
    >   make
    >   rake
    >   etc

·   Cron job

·   Notifier




                                                    17
<intent >   !"#$%



More complex

·   Build dependencies

·   Error reporting

·   Cross-platform builds

·   Reporting

·   Statistics




                                            18
<intent >   !"#$%




Tools



                        19
<intent >   !"#$%




                20
<intent >   !"#$%




                20
<intent >   !"#$%




                20
<intent >   !"#$%




                20
<intent >   !"#$%




                20
<intent >   !"#$%




                20
<intent >   !"#$%




                20
<intent >   !"#$%




http://confluence.public.thoughtworks.org/
       display/CC/CI+Feature+Matrix




                                                    21
<intent >   !"#$%




http://confluence.public.thoughtworks.org/
       display/CC/CI+Feature+Matrix


                 26 Tools




                                                    21
<intent >   !"#$%




Getting started



                                  22
<intent >   !"#$%




Write a test



                               23
<intent >   !"#$%




Automate



                           24
<intent >   !"#$%




Related Practices



                                25
<intent >   !"#$%




Related Practices
     Enabled by CI




                                     25
<intent >   !"#$%




Have the Business
   Build Tests


                               26
<intent >   !"#$%




                27
<intent >   !"#$%
Feature: Proposal notification
  In order to reduce time spent on emailing
  Administrators should be able to mail
  all proposals owners depending on status

  Scenario: Email accepted proposal
    Given aslak.hellesoy@gmail.com proposed Cucumber
    And the Cucumber proposal is approved
    When I send mass proposal email
    Then aslak.hellesoy@gmail.com should get email
      """
      Hi aslak.hellesoy@gmail.com
      Congratulations, Cucumber was accepted.
      See you at RailsConf!
      """




                                                              28
<intent >   !"#$%




Continuous
Deployment


                             29
<intent >   !"#$%




10 Deploys a Day at
      Flickr


                                30
<intent >   !"#$%




Demo



                       31
<intent >   !"#$%




http://www.jetbrains.com/teamcity/

                                                 32

More Related Content

What's hot

Dla investor-presentation-march-2011
Dla investor-presentation-march-2011Dla investor-presentation-march-2011
Dla investor-presentation-march-2011Delta_Apparel
 
Independent Learning: The Internet and Its Implications for Education
Independent Learning: The Internet and Its Implications for EducationIndependent Learning: The Internet and Its Implications for Education
Independent Learning: The Internet and Its Implications for EducationBurton12j
 
Julius Joseph-SAP BASIS Resume
Julius Joseph-SAP BASIS ResumeJulius Joseph-SAP BASIS Resume
Julius Joseph-SAP BASIS ResumeJulius Joseph
 
Ellzey 5611 module 3
Ellzey 5611 module 3Ellzey 5611 module 3
Ellzey 5611 module 3cellzey
 
广告汇聚上海最具影响力读者群体东方早报2008年新征程将奉献更多投资智 ...
广告汇聚上海最具影响力读者群体东方早报2008年新征程将奉献更多投资智 ...广告汇聚上海最具影响力读者群体东方早报2008年新征程将奉献更多投资智 ...
广告汇聚上海最具影响力读者群体东方早报2008年新征程将奉献更多投资智 ...sugeladi
 
The Even Darker Art Of Rails Engines Presentation
The Even Darker Art Of Rails Engines PresentationThe Even Darker Art Of Rails Engines Presentation
The Even Darker Art Of Rails Engines Presentationrailsconf
 
GIS and Google Earth In Geography
GIS and Google Earth In GeographyGIS and Google Earth In Geography
GIS and Google Earth In GeographyOllie Bray
 
Provincia Germán Busch
Provincia Germán BuschProvincia Germán Busch
Provincia Germán Buschluismarcelo07
 
Cartilla - Cáncer de mama
Cartilla - Cáncer de mamaCartilla - Cáncer de mama
Cartilla - Cáncer de mamaUNFPA Boliva
 
For College Representatives
For College RepresentativesFor College Representatives
For College RepresentativesHobsons
 
Ilmiöpohjainen oppiminen
Ilmiöpohjainen oppiminenIlmiöpohjainen oppiminen
Ilmiöpohjainen oppiminenAki Luostarinen
 
Marketing Digital - parte 3
Marketing Digital - parte 3Marketing Digital - parte 3
Marketing Digital - parte 3Leandro Liberio
 
CCM IDL, CORBA Component Model IDL
CCM IDL, CORBA Component Model IDLCCM IDL, CORBA Component Model IDL
CCM IDL, CORBA Component Model IDLEmmanuel Fuchs
 

What's hot (20)

Chromatographie
ChromatographieChromatographie
Chromatographie
 
Dla investor-presentation-march-2011
Dla investor-presentation-march-2011Dla investor-presentation-march-2011
Dla investor-presentation-march-2011
 
Independent Learning: The Internet and Its Implications for Education
Independent Learning: The Internet and Its Implications for EducationIndependent Learning: The Internet and Its Implications for Education
Independent Learning: The Internet and Its Implications for Education
 
Julius Joseph-SAP BASIS Resume
Julius Joseph-SAP BASIS ResumeJulius Joseph-SAP BASIS Resume
Julius Joseph-SAP BASIS Resume
 
Ellzey 5611 module 3
Ellzey 5611 module 3Ellzey 5611 module 3
Ellzey 5611 module 3
 
广告汇聚上海最具影响力读者群体东方早报2008年新征程将奉献更多投资智 ...
广告汇聚上海最具影响力读者群体东方早报2008年新征程将奉献更多投资智 ...广告汇聚上海最具影响力读者群体东方早报2008年新征程将奉献更多投资智 ...
广告汇聚上海最具影响力读者群体东方早报2008年新征程将奉献更多投资智 ...
 
The Even Darker Art Of Rails Engines Presentation
The Even Darker Art Of Rails Engines PresentationThe Even Darker Art Of Rails Engines Presentation
The Even Darker Art Of Rails Engines Presentation
 
1991 clasificatoria
1991 clasificatoria1991 clasificatoria
1991 clasificatoria
 
Outstanding Tenacity
Outstanding TenacityOutstanding Tenacity
Outstanding Tenacity
 
Propedeutico 3
Propedeutico 3Propedeutico 3
Propedeutico 3
 
GIS and Google Earth In Geography
GIS and Google Earth In GeographyGIS and Google Earth In Geography
GIS and Google Earth In Geography
 
Provincia Germán Busch
Provincia Germán BuschProvincia Germán Busch
Provincia Germán Busch
 
Cartilla - Cáncer de mama
Cartilla - Cáncer de mamaCartilla - Cáncer de mama
Cartilla - Cáncer de mama
 
For College Representatives
For College RepresentativesFor College Representatives
For College Representatives
 
Ilmiöpohjainen oppiminen
Ilmiöpohjainen oppiminenIlmiöpohjainen oppiminen
Ilmiöpohjainen oppiminen
 
Ks Iconic
Ks IconicKs Iconic
Ks Iconic
 
FDA Q&A
FDA Q&A FDA Q&A
FDA Q&A
 
IoT Context-aware mobile services - Jarno Malaprade - Tietotalo
IoT Context-aware mobile services - Jarno Malaprade - TietotaloIoT Context-aware mobile services - Jarno Malaprade - Tietotalo
IoT Context-aware mobile services - Jarno Malaprade - Tietotalo
 
Marketing Digital - parte 3
Marketing Digital - parte 3Marketing Digital - parte 3
Marketing Digital - parte 3
 
CCM IDL, CORBA Component Model IDL
CCM IDL, CORBA Component Model IDLCCM IDL, CORBA Component Model IDL
CCM IDL, CORBA Component Model IDL
 

Similar to Continuous Integration Saves the Day

Delve Prototyping In The Wild
Delve Prototyping In The WildDelve Prototyping In The Wild
Delve Prototyping In The WildTodd Zaki Warfel
 
WebcampZG - Rails 4
WebcampZG - Rails 4WebcampZG - Rails 4
WebcampZG - Rails 4shnikola
 
글로벌 CDN서비스와 웹 성능 향상 방법론 | Devon 2012
글로벌 CDN서비스와 웹 성능 향상 방법론 | Devon 2012글로벌 CDN서비스와 웹 성능 향상 방법론 | Devon 2012
글로벌 CDN서비스와 웹 성능 향상 방법론 | Devon 2012Daum DNA
 
글로벌 CDN서비스와 웹 성능 향상 방법론 (Global CDN and Web Performance Optimization) - DevOn...
글로벌 CDN서비스와 웹 성능 향상 방법론 (Global CDN and Web Performance Optimization) - DevOn...글로벌 CDN서비스와 웹 성능 향상 방법론 (Global CDN and Web Performance Optimization) - DevOn...
글로벌 CDN서비스와 웹 성능 향상 방법론 (Global CDN and Web Performance Optimization) - DevOn...Junho Choi
 
Measure works - Mobile Convention Amsterdam - Guidelines for a succesful mobi...
Measure works - Mobile Convention Amsterdam - Guidelines for a succesful mobi...Measure works - Mobile Convention Amsterdam - Guidelines for a succesful mobi...
Measure works - Mobile Convention Amsterdam - Guidelines for a succesful mobi...MeasureWorks
 
Mobile Convention Amsterdam, Measure works - Jeroen Tjepkema
Mobile Convention Amsterdam, Measure works - Jeroen TjepkemaMobile Convention Amsterdam, Measure works - Jeroen Tjepkema
Mobile Convention Amsterdam, Measure works - Jeroen TjepkemaMobileConventionAmsterdam
 
How SmartLogic Uses Chef-Dan Ivovich
How SmartLogic Uses Chef-Dan IvovichHow SmartLogic Uses Chef-Dan Ivovich
How SmartLogic Uses Chef-Dan IvovichSmartLogic
 
Massive device deployment - EclipseCon 2011
Massive device deployment - EclipseCon 2011Massive device deployment - EclipseCon 2011
Massive device deployment - EclipseCon 2011Angelo van der Sijpt
 
Dramatically increase revenue on verio template
Dramatically increase revenue on verio templateDramatically increase revenue on verio template
Dramatically increase revenue on verio templateJanine Soika
 
Dramatically increase revenue on verio template
Dramatically increase revenue on verio templateDramatically increase revenue on verio template
Dramatically increase revenue on verio templateJanine Soika
 
A Brief Introduction to JQuery Mobile
A Brief Introduction to JQuery MobileA Brief Introduction to JQuery Mobile
A Brief Introduction to JQuery MobileDan Pickett
 
글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf...
글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf...글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf...
글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf...Junho Choi
 
New Age Marketer by Anees Merchant
New Age Marketer by Anees MerchantNew Age Marketer by Anees Merchant
New Age Marketer by Anees MerchantAnees Merchant
 
Streamlining Your Applications with Web Frameworks
Streamlining Your Applications with Web FrameworksStreamlining Your Applications with Web Frameworks
Streamlining Your Applications with Web Frameworksguestf7bc30
 
Dethroning Grunt: Simple and Effective Builds with gulp.js
Dethroning Grunt: Simple and Effective Builds with gulp.jsDethroning Grunt: Simple and Effective Builds with gulp.js
Dethroning Grunt: Simple and Effective Builds with gulp.jsJay Harris
 

Similar to Continuous Integration Saves the Day (20)

Delve Prototyping In The Wild
Delve Prototyping In The WildDelve Prototyping In The Wild
Delve Prototyping In The Wild
 
WebcampZG - Rails 4
WebcampZG - Rails 4WebcampZG - Rails 4
WebcampZG - Rails 4
 
글로벌 CDN서비스와 웹 성능 향상 방법론 | Devon 2012
글로벌 CDN서비스와 웹 성능 향상 방법론 | Devon 2012글로벌 CDN서비스와 웹 성능 향상 방법론 | Devon 2012
글로벌 CDN서비스와 웹 성능 향상 방법론 | Devon 2012
 
글로벌 CDN서비스와 웹 성능 향상 방법론 (Global CDN and Web Performance Optimization) - DevOn...
글로벌 CDN서비스와 웹 성능 향상 방법론 (Global CDN and Web Performance Optimization) - DevOn...글로벌 CDN서비스와 웹 성능 향상 방법론 (Global CDN and Web Performance Optimization) - DevOn...
글로벌 CDN서비스와 웹 성능 향상 방법론 (Global CDN and Web Performance Optimization) - DevOn...
 
Measure works - Mobile Convention Amsterdam - Guidelines for a succesful mobi...
Measure works - Mobile Convention Amsterdam - Guidelines for a succesful mobi...Measure works - Mobile Convention Amsterdam - Guidelines for a succesful mobi...
Measure works - Mobile Convention Amsterdam - Guidelines for a succesful mobi...
 
Mobile Convention Amsterdam, Measure works - Jeroen Tjepkema
Mobile Convention Amsterdam, Measure works - Jeroen TjepkemaMobile Convention Amsterdam, Measure works - Jeroen Tjepkema
Mobile Convention Amsterdam, Measure works - Jeroen Tjepkema
 
How SmartLogic Uses Chef-Dan Ivovich
How SmartLogic Uses Chef-Dan IvovichHow SmartLogic Uses Chef-Dan Ivovich
How SmartLogic Uses Chef-Dan Ivovich
 
All about Apache ACE
All about Apache ACEAll about Apache ACE
All about Apache ACE
 
Massive device deployment - EclipseCon 2011
Massive device deployment - EclipseCon 2011Massive device deployment - EclipseCon 2011
Massive device deployment - EclipseCon 2011
 
Dramatically increase revenue on verio template
Dramatically increase revenue on verio templateDramatically increase revenue on verio template
Dramatically increase revenue on verio template
 
Dramatically increase revenue on verio template
Dramatically increase revenue on verio templateDramatically increase revenue on verio template
Dramatically increase revenue on verio template
 
AWS Elastic Beanstalk
AWS Elastic BeanstalkAWS Elastic Beanstalk
AWS Elastic Beanstalk
 
A Brief Introduction to JQuery Mobile
A Brief Introduction to JQuery MobileA Brief Introduction to JQuery Mobile
A Brief Introduction to JQuery Mobile
 
A Rubyist Tries AngularJS
A Rubyist Tries AngularJSA Rubyist Tries AngularJS
A Rubyist Tries AngularJS
 
글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf...
글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf...글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf...
글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf...
 
New Age Marketer by Anees Merchant
New Age Marketer by Anees MerchantNew Age Marketer by Anees Merchant
New Age Marketer by Anees Merchant
 
03 image andgraphics
03 image andgraphics03 image andgraphics
03 image andgraphics
 
Speed Index, explained!
Speed Index, explained!Speed Index, explained!
Speed Index, explained!
 
Streamlining Your Applications with Web Frameworks
Streamlining Your Applications with Web FrameworksStreamlining Your Applications with Web Frameworks
Streamlining Your Applications with Web Frameworks
 
Dethroning Grunt: Simple and Effective Builds with gulp.js
Dethroning Grunt: Simple and Effective Builds with gulp.jsDethroning Grunt: Simple and Effective Builds with gulp.js
Dethroning Grunt: Simple and Effective Builds with gulp.js
 

Recently uploaded

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
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...apidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
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...DianaGray10
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
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 TerraformAndrey Devyatkin
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 

Recently uploaded (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
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...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 

Continuous Integration Saves the Day

  • 1. <intent > !"#$% Continuous Integration Saves the Day Kurt Schrader Head of Engineering - Intent Media March 10, 2010
  • 2. <intent > !"#$% What? 2
  • 3. <intent > !"#$% http://www.flickr.com/photos/27147/3411775886/ 3
  • 4. <intent > !"#$% http://www.flickr.com/photos/bengtserenius/211225580/ 4
  • 5. <intent > !"#$% Build Continuously 5
  • 6. <intent > !"#$% Test Continuously 6
  • 7. <intent > !"#$% Why? 7
  • 8. <intent > !"#$% http://www.flickr.com/photos/ericejohnson/4294710367/ 8
  • 9. <intent > !"#$% $160 M http://www.flickr.com/photos/ericejohnson/4294710367/ 8
  • 10. <intent > !"#$% Allows for change 9
  • 11. <intent > !"#$% Safety Net 10
  • 12. <intent > !"#$% How? 11
  • 13. <intent > !"#$% Version Control 12
  • 14. <intent > !"#$% Automated Tests 13
  • 15. <intent > !"#$% Automated Build 14
  • 16. <intent > !"#$% Frequent Commits 15
  • 17. <intent > !"#$% Make Things Visible! 16
  • 18. <intent > !"#$% Easy continuous integration recipe · Way to run an automated build > ant > make > rake > etc · Cron job · Notifier 17
  • 19. <intent > !"#$% More complex · Build dependencies · Error reporting · Cross-platform builds · Reporting · Statistics 18
  • 20. <intent > !"#$% Tools 19
  • 21. <intent > !"#$% 20
  • 22. <intent > !"#$% 20
  • 23. <intent > !"#$% 20
  • 24. <intent > !"#$% 20
  • 25. <intent > !"#$% 20
  • 26. <intent > !"#$% 20
  • 27. <intent > !"#$% 20
  • 28. <intent > !"#$% http://confluence.public.thoughtworks.org/ display/CC/CI+Feature+Matrix 21
  • 29. <intent > !"#$% http://confluence.public.thoughtworks.org/ display/CC/CI+Feature+Matrix 26 Tools 21
  • 30. <intent > !"#$% Getting started 22
  • 31. <intent > !"#$% Write a test 23
  • 32. <intent > !"#$% Automate 24
  • 33. <intent > !"#$% Related Practices 25
  • 34. <intent > !"#$% Related Practices Enabled by CI 25
  • 35. <intent > !"#$% Have the Business Build Tests 26
  • 36. <intent > !"#$% 27
  • 37. <intent > !"#$% Feature: Proposal notification In order to reduce time spent on emailing Administrators should be able to mail all proposals owners depending on status Scenario: Email accepted proposal Given aslak.hellesoy@gmail.com proposed Cucumber And the Cucumber proposal is approved When I send mass proposal email Then aslak.hellesoy@gmail.com should get email """ Hi aslak.hellesoy@gmail.com Congratulations, Cucumber was accepted. See you at RailsConf! """ 28
  • 38. <intent > !"#$% Continuous Deployment 29
  • 39. <intent > !"#$% 10 Deploys a Day at Flickr 30
  • 40. <intent > !"#$% Demo 31
  • 41. <intent > !"#$% http://www.jetbrains.com/teamcity/ 32

Editor's Notes

  1. What do we really want to do when we integrate?
  2. Any big software project has to integrate a bunch of pieces. Want it to go like this ...assume that it&amp;#x2019;s going to go like this. Get all of the different parts running in sync
  3. Usually ends up like this All continuous integration is is putting all of the cars on the road everyday multiple times a day Causes small accidents to prevent big pile ups.
  4. But more importantly...
  5. Why would you do this: -happier developers -less time fixing bugs
  6. Mark Striebeck - XPDay 2009 Keynote - Google: Estimated that a bug found during TDD costs $5 to fix, which surges to $50 for tests during a full build and $500 during an integration test. It goes to $5000 during a system test. &lt;Next slide&gt; Fixing bugs earlier would save them an estimated $160M per year.
  7. Reduced risk and less bugs
  8. What do I need to do Continuous Integration?
  9. - Need to be fast - Don&amp;#x2019;t get a false sense of security - Unit tests - More importantly, integration tests (harder to write, slower to run)
  10. If a build breaks and no one knows, is it broken?
  11. One of those things, like a bug tracker, that everyone seems to write
  12. Need to collectively own. Need buy in from developers and the organization &amp;#x201C;1 month to write a single integration test&amp;#x201D; &amp;#x201C;How did you fix your breaking builds?&amp;#x201D; &amp;#x201C;We turned off the CI server&amp;#x201D;
  13. Just do it Get it visible in front of your developers
  14. Things that enabled once you have a strong CI infrastructure in place
  15. By business, I mean whoever sets your priorities