SlideShare une entreprise Scribd logo
1  sur  25
CI, Pipelines and
 Deployment
Chris.Read@ThoughtWorks.com
         chris-read.net
About Me

•   Unix Admin

•   Network Admin

•   Developer

•   Principal Consultant
CI Core Practices




               Photo by teclasorg
Single Source
              Repository

•   Single point of truth

•   Everyone's code in the same place

•   NOT a branch per developer

•   Shared ownership
Automate Build

•   Using the IDE is not automating!

•   Using the IDE does not give you a repeatable build

•   Use a build tool

•   Compile, package, test
Automate Testing


•   Not just Unit Tests

•   Failing tests fail the build

•   Fix it if it’s broken or you’re wasting your time
Publish Latest
            Distributable

•   Make it easy to get the final product

•   Should only be built once so you deploy what’s been tested

•   Configuration is separate
CI Evolution
Commit More Often


•   “At least once a day” - aim for at least once an hour

•   Needs a small unit of work

•   To commit cleanly you need to update first
Every Commit Builds


•   It’s all about fast feedback

•   Small changes

•   Less to merge and/or fix
Test in Production
             Clone

•   Detect multi-threaded or cluster issues

•   Tests system architecture and upgrades

•   Includes databases!

•   It’s about moving parts, not capacity
Keep Build Fast

•   It really is all about feedback

•   If things break you find out about it while it’s still fresh in
    your mind

•   Keep up with frequent check ins
Everyone Sees What’s
     Happening

•   Reduce time to fix

•   No excuse to check in on broken build

•   It’s not about blame, it’s about feedback
Automate Deployment

•   Reduce Human Error

•   Verify you can get it running somewhere other than “my
    machine”

•   Test not only the code but your deployment mechanism too

•   Don’t tie up Sys Admins with boring stuff

•   Don’t tie up Devs waiting for feedback
Making CI Work

•   Can’t be done in
    isolation

•   Pick the right tools for
    the job

•   It’s not a silver bullet

                               Image by LiminalMike
Build Pipelines




                  Photo by rickz
Traditional CI Flow
Build Pipeline Flow
Parallel Jobs
One Click Deploys


•   Pre-requisite for build pipelines

•   Reduces deployment time and risk

•   Makes go live a non-event
Continuous Deployment




              Photo by stevendepolo
Timeline
Summary
•   CI and Build Pipelines improve

    •   Quality

    •   Time to Market

    •   Confidence

•   Continuous Deployment is the next step

•   These practices require Devs and Sys Admins to work
    closely together
Q&A
Useful Links

•   http://www.martinfowler.com/articles/
    continuousIntegration.html

•   http://www.thoughtworks.com/pdfs/
    deployment_production_line.pdf

•   http://saucelabs.com/blog/index.php/2009/09/continuous-
    deployment%E2%80%94the-video/

Contenu connexe

Tendances

Tendances (20)

Jenkins presentation
Jenkins presentationJenkins presentation
Jenkins presentation
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation Slides
 
CI/CD
CI/CDCI/CD
CI/CD
 
"DevOps > CI+CD "
"DevOps > CI+CD ""DevOps > CI+CD "
"DevOps > CI+CD "
 
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
 
Flusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryFlusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous Delivery
 
Jenkins CI presentation
Jenkins CI presentationJenkins CI presentation
Jenkins CI presentation
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps Journey
 
Jenkins
JenkinsJenkins
Jenkins
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD Overview
 
CI/CD with GitHub Actions
CI/CD with GitHub ActionsCI/CD with GitHub Actions
CI/CD with GitHub Actions
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
 
CI CD Basics
CI CD BasicsCI CD Basics
CI CD Basics
 
DevOps Overview
DevOps OverviewDevOps Overview
DevOps Overview
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
Jenkins tutorial for beginners
Jenkins tutorial for beginnersJenkins tutorial for beginners
Jenkins tutorial for beginners
 

Similaire à Continuous Integration, Build Pipelines and Continuous Deployment

Introduction To Continuous Integration
Introduction To Continuous IntegrationIntroduction To Continuous Integration
Introduction To Continuous Integration
Christopher Read
 
AgileLINC Continous Slides by Daniel Harp
AgileLINC Continous Slides by Daniel HarpAgileLINC Continous Slides by Daniel Harp
AgileLINC Continous Slides by Daniel Harp
Barry Gavril
 
Continuous Integration and Delivery
Continuous Integration and DeliveryContinuous Integration and Delivery
Continuous Integration and Delivery
Brandon Cornett
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
Basma Alkerm
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8
Rajwinder Singh
 

Similaire à Continuous Integration, Build Pipelines and Continuous Deployment (20)

Introduction to Continuous Integration
Introduction to Continuous IntegrationIntroduction to Continuous Integration
Introduction to Continuous Integration
 
Introduction To Continuous Integration
Introduction To Continuous IntegrationIntroduction To Continuous Integration
Introduction To Continuous Integration
 
Continuous integration sql in the city
Continuous integration sql in the cityContinuous integration sql in the city
Continuous integration sql in the city
 
Test Driven Development & CI/CD
Test Driven Development & CI/CDTest Driven Development & CI/CD
Test Driven Development & CI/CD
 
AgileLINC Continous Slides by Daniel Harp
AgileLINC Continous Slides by Daniel HarpAgileLINC Continous Slides by Daniel Harp
AgileLINC Continous Slides by Daniel Harp
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Core Principles Of Ci
Core Principles Of CiCore Principles Of Ci
Core Principles Of Ci
 
Introduction to Continuous Integration
Introduction to Continuous IntegrationIntroduction to Continuous Integration
Introduction to Continuous Integration
 
The Key Components of Adopting CI The OpenStack Way
The Key Components of Adopting CI The OpenStack WayThe Key Components of Adopting CI The OpenStack Way
The Key Components of Adopting CI The OpenStack Way
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Why your company loves to welcome change but sucks at accommodating it
Why your company loves to welcome change but sucks at accommodating itWhy your company loves to welcome change but sucks at accommodating it
Why your company loves to welcome change but sucks at accommodating it
 
Continuous Integration and Delivery
Continuous Integration and DeliveryContinuous Integration and Delivery
Continuous Integration and Delivery
 
MyHeritage - End 2 End testing Infra
MyHeritage - End 2 End testing InfraMyHeritage - End 2 End testing Infra
MyHeritage - End 2 End testing Infra
 
Agile engineering practices
Agile engineering practicesAgile engineering practices
Agile engineering practices
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environment
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Agile, DevOps & Test
Agile, DevOps & TestAgile, DevOps & Test
Agile, DevOps & Test
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 

Continuous Integration, Build Pipelines and Continuous Deployment

  • 1. CI, Pipelines and Deployment Chris.Read@ThoughtWorks.com chris-read.net
  • 2. About Me • Unix Admin • Network Admin • Developer • Principal Consultant
  • 3. CI Core Practices Photo by teclasorg
  • 4. Single Source Repository • Single point of truth • Everyone's code in the same place • NOT a branch per developer • Shared ownership
  • 5. Automate Build • Using the IDE is not automating! • Using the IDE does not give you a repeatable build • Use a build tool • Compile, package, test
  • 6. Automate Testing • Not just Unit Tests • Failing tests fail the build • Fix it if it’s broken or you’re wasting your time
  • 7. Publish Latest Distributable • Make it easy to get the final product • Should only be built once so you deploy what’s been tested • Configuration is separate
  • 9. Commit More Often • “At least once a day” - aim for at least once an hour • Needs a small unit of work • To commit cleanly you need to update first
  • 10. Every Commit Builds • It’s all about fast feedback • Small changes • Less to merge and/or fix
  • 11. Test in Production Clone • Detect multi-threaded or cluster issues • Tests system architecture and upgrades • Includes databases! • It’s about moving parts, not capacity
  • 12. Keep Build Fast • It really is all about feedback • If things break you find out about it while it’s still fresh in your mind • Keep up with frequent check ins
  • 13. Everyone Sees What’s Happening • Reduce time to fix • No excuse to check in on broken build • It’s not about blame, it’s about feedback
  • 14. Automate Deployment • Reduce Human Error • Verify you can get it running somewhere other than “my machine” • Test not only the code but your deployment mechanism too • Don’t tie up Sys Admins with boring stuff • Don’t tie up Devs waiting for feedback
  • 15. Making CI Work • Can’t be done in isolation • Pick the right tools for the job • It’s not a silver bullet Image by LiminalMike
  • 16. Build Pipelines Photo by rickz
  • 20. One Click Deploys • Pre-requisite for build pipelines • Reduces deployment time and risk • Makes go live a non-event
  • 21. Continuous Deployment Photo by stevendepolo
  • 23. Summary • CI and Build Pipelines improve • Quality • Time to Market • Confidence • Continuous Deployment is the next step • These practices require Devs and Sys Admins to work closely together
  • 24. Q&A
  • 25. Useful Links • http://www.martinfowler.com/articles/ continuousIntegration.html • http://www.thoughtworks.com/pdfs/ deployment_production_line.pdf • http://saucelabs.com/blog/index.php/2009/09/continuous- deployment%E2%80%94the-video/