SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (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
 

Ähnlich wie Continuous Integration: Blueprint, Toolbox, Master Craft

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
DVClub
 
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
 

Ähnlich wie 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...
 

Mehr von Stephen 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 dangers
Stephen Ritchie
 
Automated Testing: Obstacles, Pitfalls, and Dangers
Automated Testing: Obstacles, Pitfalls, and DangersAutomated Testing: Obstacles, Pitfalls, and Dangers
Automated Testing: Obstacles, Pitfalls, and Dangers
Stephen Ritchie
 
Automated Testing with Databases
Automated Testing with DatabasesAutomated Testing with Databases
Automated Testing with Databases
Stephen Ritchie
 

Mehr von 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
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
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
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
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
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
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
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 

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