SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
<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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante a 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
 

Semelhante a 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
 

Último

React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sectoritnewsafrica
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...itnewsafrica
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 

Último (20)

React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 

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

Notas do Editor

  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