SlideShare a Scribd company logo
1 of 22
Continuous Integration:
         Blueprint, Toolbox, Master Craft


    DC .NET Users Group (@DCDNUG)                                                                                                                           Stephen D. Ritchie
    February 2013 Meeting
                                                                                                                                                               @RuthlessHelp
                                                                                                                                                                     Feb 19, 2013



Stephen D. Ritchie – Managing Consultant – Excella Consulting, Inc., 2300 Wilson Blvd, Suite 630, Arlington, VA 22201 – 703.840.8600 – http://excella.com
Live Tweet, Slides and Examples

• Twitter: @RuthlessHelp

• Slides:
  http://www.slideshare.net/ruthlesshelp

• Code Samples:
  http://github.com/ruthlesshelp


Stephen D. Ritchie   2
The Problem
1      Scott makes changes
2      Susan makes changes
3      You can’t build
                                        Source
                                         Code

                             1                  3      2




                          Scott’s                    Susan’s
                                          You
                         Computer                   Computer


Stephen D. Ritchie                  3
What Went Wrong?


         Conflicts
                     Missing Files
         Breaking Changes
Stephen D. Ritchie        4
How do you
                         find
                     integration
                       issues?
Stephen D. Ritchie        5
Manual Integration

       Build
       Run Some Unit Tests
       Perform Static Analysis
       Clean + Rebuild All
Stephen D. Ritchie   6
Continuous Integration Blueprint




Stephen D. Ritchie   7
CI Server


                      Source                    CI
                       Code                   Server



            Scott’s                 Susan’s
                        You
           Computer                Computer


Stephen D. Ritchie             8
CI Server


Triggered by SCM
                     and




Stephen D. Ritchie         9
CI – Per Commit Steps


       1. Clean + Rebuild All
       2. Run All Unit Tests
       3. Analysis
                     Static Code Analysis
                     Coding Standards
Stephen D. Ritchie             10
Continuous Integration Toolbox




Stephen D. Ritchie   11
CI Server – Jenkins



                          http://jenkins-ci.org/


       Free
       Open Source
Stephen D. Ritchie   12
CI Server – Cruise Control

                     http://cruisecontrol.sourceforge.net/


                     http://www.cruisecontrolnet.org/

       Free
       Open Source
Stephen D. Ritchie           13
CI Server – TeamCity



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



       Commercial
       Easy to Use
Stephen D. Ritchie          14
Perhaps an
    example would
      be helpful
Stephen D. Ritchie   15
Continuous Integration Master Craft




Stephen D. Ritchie   16
The Master Craft


                      Unit Testing
                              Plus

                     Code Coverage

Stephen D. Ritchie       17
The Master Craft


                         System Testing
                     Integration Testing
                     Acceptance Testing
Stephen D. Ritchie           18
The Master Craft


                     Code Quality
Visualizations         Analysis
Checks
Metrics
Detections
Stephen D. Ritchie      19
The Master Craft


                     Reporting
                            And

                     Visibility

Stephen D. Ritchie     20
The Master Craft


                     Packaging
                             And

                     Deployment

Stephen D. Ritchie      21
Stephen’s Contact Info

• Email: stephen.ritchie@excella.com

• LinkedIn:
     http://www.linkedin.com/in/sritchie




Stephen D. Ritchie   22

More Related Content

What's hot

“Writing code that lasts” … or writing code you won’t hate tomorrow.
“Writing code that lasts” … or writing code you won’t hate tomorrow.“Writing code that lasts” … or writing code you won’t hate tomorrow.
“Writing code that lasts” … or writing code you won’t hate tomorrow.Rafael Dohms
 
“Writing code that lasts” … or writing code you won’t hate tomorrow.
“Writing code that lasts” … or writing code you won’t hate tomorrow.“Writing code that lasts” … or writing code you won’t hate tomorrow.
“Writing code that lasts” … or writing code you won’t hate tomorrow.Rafael Dohms
 
Writing code that lasts - JAB14
Writing code that lasts - JAB14Writing code that lasts - JAB14
Writing code that lasts - JAB14Rafael Dohms
 
.NET Fest 2018. Dylan Beattie. Ctrl-Alt-Del: Learning to Love Legacy Code
.NET Fest 2018. Dylan Beattie. Ctrl-Alt-Del: Learning to Love Legacy Code.NET Fest 2018. Dylan Beattie. Ctrl-Alt-Del: Learning to Love Legacy Code
.NET Fest 2018. Dylan Beattie. Ctrl-Alt-Del: Learning to Love Legacy CodeNETFest
 
NCompass Live: Explore Wearable Technologies and Book Connections for Youth
NCompass Live: Explore Wearable Technologies and Book Connections for Youth NCompass Live: Explore Wearable Technologies and Book Connections for Youth
NCompass Live: Explore Wearable Technologies and Book Connections for Youth Nebraska Library Commission
 
Java Generics Adoption: How New Features are Introduced Championed or Ignored
Java Generics Adoption: How New Features are Introduced Championed or IgnoredJava Generics Adoption: How New Features are Introduced Championed or Ignored
Java Generics Adoption: How New Features are Introduced Championed or IgnoredChris Parnin
 

What's hot (7)

“Writing code that lasts” … or writing code you won’t hate tomorrow.
“Writing code that lasts” … or writing code you won’t hate tomorrow.“Writing code that lasts” … or writing code you won’t hate tomorrow.
“Writing code that lasts” … or writing code you won’t hate tomorrow.
 
“Writing code that lasts” … or writing code you won’t hate tomorrow.
“Writing code that lasts” … or writing code you won’t hate tomorrow.“Writing code that lasts” … or writing code you won’t hate tomorrow.
“Writing code that lasts” … or writing code you won’t hate tomorrow.
 
Writing code that lasts - JAB14
Writing code that lasts - JAB14Writing code that lasts - JAB14
Writing code that lasts - JAB14
 
.NET Fest 2018. Dylan Beattie. Ctrl-Alt-Del: Learning to Love Legacy Code
.NET Fest 2018. Dylan Beattie. Ctrl-Alt-Del: Learning to Love Legacy Code.NET Fest 2018. Dylan Beattie. Ctrl-Alt-Del: Learning to Love Legacy Code
.NET Fest 2018. Dylan Beattie. Ctrl-Alt-Del: Learning to Love Legacy Code
 
NCompass Live: Explore Wearable Technologies and Book Connections for Youth
NCompass Live: Explore Wearable Technologies and Book Connections for Youth NCompass Live: Explore Wearable Technologies and Book Connections for Youth
NCompass Live: Explore Wearable Technologies and Book Connections for Youth
 
Java Generics Adoption: How New Features are Introduced Championed or Ignored
Java Generics Adoption: How New Features are Introduced Championed or IgnoredJava Generics Adoption: How New Features are Introduced Championed or Ignored
Java Generics Adoption: How New Features are Introduced Championed or Ignored
 
DevTechDocsOps
DevTechDocsOpsDevTechDocsOps
DevTechDocsOps
 

Similar to Continuous Integration: Blueprint, Toolbox, Master Craft

Continuous Integration: Blueprint, Toolbox, Master Craft
Continuous Integration: Blueprint, Toolbox, Master CraftContinuous Integration: Blueprint, Toolbox, Master Craft
Continuous Integration: Blueprint, Toolbox, Master CraftExcella
 
Continuous Integration: Toolbox, Blueprint, Master Craft
Continuous Integration: Toolbox, Blueprint, Master CraftContinuous Integration: Toolbox, Blueprint, Master Craft
Continuous Integration: Toolbox, Blueprint, Master CraftDC Agile Engineering Conference
 
Continuous Integration: Blueprint, Toolbox, Master Craft
Continuous Integration: Blueprint, Toolbox, Master CraftContinuous Integration: Blueprint, Toolbox, Master Craft
Continuous Integration: Blueprint, Toolbox, Master CraftStephen Ritchie
 
Clean Software Design: The Practices to Make The Design Simple
Clean Software Design: The Practices to Make The Design SimpleClean Software Design: The Practices to Make The Design Simple
Clean Software Design: The Practices to Make The Design SimpleLemi Orhan Ergin
 
IATI implementation at DFID
IATI implementation at DFIDIATI implementation at DFID
IATI implementation at DFIDjohnthegeo
 
IP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseIP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseDVClub
 
Apache Druid Vision and Roadmap
Apache Druid Vision and RoadmapApache Druid Vision and Roadmap
Apache Druid Vision and RoadmapImply
 
A Business Case for Git - Tim Pettersen
A Business Case for Git - Tim PettersenA Business Case for Git - Tim Pettersen
A Business Case for Git - Tim PettersenAtlassian
 
Stki summit2012infra v7 - major trends - paradign shifts
Stki summit2012infra v7 - major trends - paradign shiftsStki summit2012infra v7 - major trends - paradign shifts
Stki summit2012infra v7 - major trends - paradign shiftsPini Cohen
 
A Gentle Introduction to Tidy Statistics in R.pdf
A Gentle Introduction to Tidy Statistics in R.pdfA Gentle Introduction to Tidy Statistics in R.pdf
A Gentle Introduction to Tidy Statistics in R.pdfVickyAlers
 
stackconf 2022: Spotify’s outage of 8.3.2022, explained
stackconf 2022: Spotify’s outage of 8.3.2022, explainedstackconf 2022: Spotify’s outage of 8.3.2022, explained
stackconf 2022: Spotify’s outage of 8.3.2022, explainedNETWAYS
 
stackconf 2022 | Spotify’s outage of 8.3.2022, explained
stackconf 2022 | Spotify’s outage of 8.3.2022, explainedstackconf 2022 | Spotify’s outage of 8.3.2022, explained
stackconf 2022 | Spotify’s outage of 8.3.2022, explainedNETWAYS
 
Open Source Summit - AI4CI.pdf
Open Source Summit - AI4CI.pdfOpen Source Summit - AI4CI.pdf
Open Source Summit - AI4CI.pdfAakankshaDuggal2
 
Continuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnContinuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnAndreas Grabner
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2bdemchak
 
ContinuousDelivery-101
ContinuousDelivery-101ContinuousDelivery-101
ContinuousDelivery-101Kishore Bhatia
 
The Four Keys - Measuring DevOps Success
The Four Keys - Measuring DevOps SuccessThe Four Keys - Measuring DevOps Success
The Four Keys - Measuring DevOps SuccessDina Graves Portman
 
SDCSB Advanced Tutorial: Reproducible Data Visualization Workflow with Cytosc...
SDCSB Advanced Tutorial: Reproducible Data Visualization Workflow with Cytosc...SDCSB Advanced Tutorial: Reproducible Data Visualization Workflow with Cytosc...
SDCSB Advanced Tutorial: Reproducible Data Visualization Workflow with Cytosc...Keiichiro Ono
 

Similar to Continuous Integration: Blueprint, Toolbox, Master Craft (20)

Continuous Integration: Blueprint, Toolbox, Master Craft
Continuous Integration: Blueprint, Toolbox, Master CraftContinuous Integration: Blueprint, Toolbox, Master Craft
Continuous Integration: Blueprint, Toolbox, Master Craft
 
Continuous Integration: Toolbox, Blueprint, Master Craft
Continuous Integration: Toolbox, Blueprint, Master CraftContinuous Integration: Toolbox, Blueprint, Master Craft
Continuous Integration: Toolbox, Blueprint, Master Craft
 
Continuous Integration: Blueprint, Toolbox, Master Craft
Continuous Integration: Blueprint, Toolbox, Master CraftContinuous Integration: Blueprint, Toolbox, Master Craft
Continuous Integration: Blueprint, Toolbox, Master Craft
 
DevOps Requires Agility
DevOps Requires AgilityDevOps Requires Agility
DevOps Requires Agility
 
Clean Software Design: The Practices to Make The Design Simple
Clean Software Design: The Practices to Make The Design SimpleClean Software Design: The Practices to Make The Design Simple
Clean Software Design: The Practices to Make The Design Simple
 
IATI implementation at DFID
IATI implementation at DFIDIATI implementation at DFID
IATI implementation at DFID
 
IP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseIP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the Enterprise
 
Apache Druid Vision and Roadmap
Apache Druid Vision and RoadmapApache Druid Vision and Roadmap
Apache Druid Vision and Roadmap
 
A Business Case for Git - Tim Pettersen
A Business Case for Git - Tim PettersenA Business Case for Git - Tim Pettersen
A Business Case for Git - Tim Pettersen
 
Stki summit2012infra v7 - major trends - paradign shifts
Stki summit2012infra v7 - major trends - paradign shiftsStki summit2012infra v7 - major trends - paradign shifts
Stki summit2012infra v7 - major trends - paradign shifts
 
A Gentle Introduction to Tidy Statistics in R.pdf
A Gentle Introduction to Tidy Statistics in R.pdfA Gentle Introduction to Tidy Statistics in R.pdf
A Gentle Introduction to Tidy Statistics in R.pdf
 
stackconf 2022: Spotify’s outage of 8.3.2022, explained
stackconf 2022: Spotify’s outage of 8.3.2022, explainedstackconf 2022: Spotify’s outage of 8.3.2022, explained
stackconf 2022: Spotify’s outage of 8.3.2022, explained
 
stackconf 2022 | Spotify’s outage of 8.3.2022, explained
stackconf 2022 | Spotify’s outage of 8.3.2022, explainedstackconf 2022 | Spotify’s outage of 8.3.2022, explained
stackconf 2022 | Spotify’s outage of 8.3.2022, explained
 
Crypto Dev Report · 2022
Crypto Dev Report · 2022Crypto Dev Report · 2022
Crypto Dev Report · 2022
 
Open Source Summit - AI4CI.pdf
Open Source Summit - AI4CI.pdfOpen Source Summit - AI4CI.pdf
Open Source Summit - AI4CI.pdf
 
Continuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnContinuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptn
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
 
ContinuousDelivery-101
ContinuousDelivery-101ContinuousDelivery-101
ContinuousDelivery-101
 
The Four Keys - Measuring DevOps Success
The Four Keys - Measuring DevOps SuccessThe Four Keys - Measuring DevOps Success
The Four Keys - Measuring DevOps Success
 
SDCSB Advanced Tutorial: Reproducible Data Visualization Workflow with Cytosc...
SDCSB Advanced Tutorial: Reproducible Data Visualization Workflow with Cytosc...SDCSB Advanced Tutorial: Reproducible Data Visualization Workflow with Cytosc...
SDCSB Advanced Tutorial: Reproducible Data Visualization Workflow with Cytosc...
 

More from Stephen Ritchie

Overview of .NET Best Practices
Overview of .NET Best PracticesOverview of .NET Best Practices
Overview of .NET Best PracticesStephen Ritchie
 
Lightweight Documentation
Lightweight DocumentationLightweight Documentation
Lightweight DocumentationStephen Ritchie
 
Agile Engineering Sparker GLASScon 2015
Agile Engineering Sparker GLASScon 2015Agile Engineering Sparker GLASScon 2015
Agile Engineering Sparker GLASScon 2015Stephen Ritchie
 
Lightweight Documentation: An Agile Approach
Lightweight Documentation: An Agile ApproachLightweight Documentation: An Agile Approach
Lightweight Documentation: An Agile ApproachStephen Ritchie
 
Dc scrum agile_eng_20130923
Dc scrum agile_eng_20130923Dc scrum agile_eng_20130923
Dc scrum agile_eng_20130923Stephen Ritchie
 
Agile Testing Best Practices
Agile Testing Best PracticesAgile Testing Best Practices
Agile Testing Best PracticesStephen Ritchie
 
An Overview of .NET Best Practices
An Overview of .NET Best PracticesAn Overview of .NET Best Practices
An Overview of .NET Best PracticesStephen Ritchie
 
Overcoming the Obstacles, Pitfalls, and Dangers of Unit Testing
Overcoming the Obstacles, Pitfalls, and Dangers of Unit TestingOvercoming the Obstacles, Pitfalls, and Dangers of Unit Testing
Overcoming the Obstacles, Pitfalls, and Dangers of Unit TestingStephen Ritchie
 
An Overview of .NET Best Practices
An Overview of .NET Best PracticesAn Overview of .NET Best Practices
An Overview of .NET Best PracticesStephen Ritchie
 
DCDNUG 10/16/2012 Automated testing obstacles pitfalls dangers
DCDNUG 10/16/2012 Automated testing obstacles pitfalls dangersDCDNUG 10/16/2012 Automated testing obstacles pitfalls dangers
DCDNUG 10/16/2012 Automated testing obstacles pitfalls dangersStephen Ritchie
 
Automated Testing: Obstacles, Pitfalls, and Dangers
Automated Testing: Obstacles, Pitfalls, and DangersAutomated Testing: Obstacles, Pitfalls, and Dangers
Automated Testing: Obstacles, Pitfalls, and DangersStephen Ritchie
 
Automated Testing with Databases
Automated Testing with DatabasesAutomated Testing with Databases
Automated Testing with DatabasesStephen Ritchie
 

More from Stephen Ritchie (12)

Overview of .NET Best Practices
Overview of .NET Best PracticesOverview of .NET Best Practices
Overview of .NET Best Practices
 
Lightweight Documentation
Lightweight DocumentationLightweight Documentation
Lightweight Documentation
 
Agile Engineering Sparker GLASScon 2015
Agile Engineering Sparker GLASScon 2015Agile Engineering Sparker GLASScon 2015
Agile Engineering Sparker GLASScon 2015
 
Lightweight Documentation: An Agile Approach
Lightweight Documentation: An Agile ApproachLightweight Documentation: An Agile Approach
Lightweight Documentation: An Agile Approach
 
Dc scrum agile_eng_20130923
Dc scrum agile_eng_20130923Dc scrum agile_eng_20130923
Dc scrum agile_eng_20130923
 
Agile Testing Best Practices
Agile Testing Best PracticesAgile Testing Best Practices
Agile Testing Best Practices
 
An Overview of .NET Best Practices
An Overview of .NET Best PracticesAn Overview of .NET Best Practices
An Overview of .NET Best Practices
 
Overcoming the Obstacles, Pitfalls, and Dangers of Unit Testing
Overcoming the Obstacles, Pitfalls, and Dangers of Unit TestingOvercoming the Obstacles, Pitfalls, and Dangers of Unit Testing
Overcoming the Obstacles, Pitfalls, and Dangers of Unit Testing
 
An Overview of .NET Best Practices
An Overview of .NET Best PracticesAn Overview of .NET Best Practices
An Overview of .NET Best Practices
 
DCDNUG 10/16/2012 Automated testing obstacles pitfalls dangers
DCDNUG 10/16/2012 Automated testing obstacles pitfalls dangersDCDNUG 10/16/2012 Automated testing obstacles pitfalls dangers
DCDNUG 10/16/2012 Automated testing obstacles pitfalls dangers
 
Automated Testing: Obstacles, Pitfalls, and Dangers
Automated Testing: Obstacles, Pitfalls, and DangersAutomated Testing: Obstacles, Pitfalls, and Dangers
Automated Testing: Obstacles, Pitfalls, and Dangers
 
Automated Testing with Databases
Automated Testing with DatabasesAutomated Testing with Databases
Automated Testing with Databases
 

Recently uploaded

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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.pdfsudhanshuwaghmare1
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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 productivityPrincipled Technologies
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
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 WorkerThousandEyes
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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 BrazilV3cube
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Recently uploaded (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer 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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
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...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Continuous Integration: Blueprint, Toolbox, Master Craft

  • 1. Continuous Integration: Blueprint, Toolbox, Master Craft DC .NET Users Group (@DCDNUG) Stephen D. Ritchie February 2013 Meeting @RuthlessHelp Feb 19, 2013 Stephen D. Ritchie – Managing Consultant – Excella Consulting, Inc., 2300 Wilson Blvd, Suite 630, Arlington, VA 22201 – 703.840.8600 – http://excella.com
  • 2. Live Tweet, Slides and Examples • Twitter: @RuthlessHelp • Slides: http://www.slideshare.net/ruthlesshelp • Code Samples: http://github.com/ruthlesshelp Stephen D. Ritchie 2
  • 3. The Problem 1 Scott makes changes 2 Susan makes changes 3 You can’t build Source Code 1 3 2 Scott’s Susan’s You Computer Computer Stephen D. Ritchie 3
  • 4. What Went Wrong? Conflicts Missing Files Breaking Changes Stephen D. Ritchie 4
  • 5. How do you find integration issues? Stephen D. Ritchie 5
  • 6. Manual Integration Build Run Some Unit Tests Perform Static Analysis Clean + Rebuild All Stephen D. Ritchie 6
  • 8. CI Server Source CI Code Server Scott’s Susan’s You Computer Computer Stephen D. Ritchie 8
  • 9. CI Server Triggered by SCM and Stephen D. Ritchie 9
  • 10. CI – Per Commit Steps 1. Clean + Rebuild All 2. Run All Unit Tests 3. Analysis Static Code Analysis Coding Standards Stephen D. Ritchie 10
  • 12. CI Server – Jenkins http://jenkins-ci.org/ Free Open Source Stephen D. Ritchie 12
  • 13. CI Server – Cruise Control http://cruisecontrol.sourceforge.net/ http://www.cruisecontrolnet.org/ Free Open Source Stephen D. Ritchie 13
  • 14. CI Server – TeamCity http://www.jetbrains.com/teamcity/ Commercial Easy to Use Stephen D. Ritchie 14
  • 15. Perhaps an example would be helpful Stephen D. Ritchie 15
  • 16. Continuous Integration Master Craft Stephen D. Ritchie 16
  • 17. The Master Craft Unit Testing Plus Code Coverage Stephen D. Ritchie 17
  • 18. The Master Craft System Testing Integration Testing Acceptance Testing Stephen D. Ritchie 18
  • 19. The Master Craft Code Quality Visualizations Analysis Checks Metrics Detections Stephen D. Ritchie 19
  • 20. The Master Craft Reporting And Visibility Stephen D. Ritchie 20
  • 21. The Master Craft Packaging And Deployment Stephen D. Ritchie 21
  • 22. Stephen’s Contact Info • Email: stephen.ritchie@excella.com • LinkedIn: http://www.linkedin.com/in/sritchie Stephen D. Ritchie 22