SlideShare uma empresa Scribd logo
1 de 14
CONTINUOUS DELIVERY
„WHETHER YOU THINK YOU CAN, OR YOU THINK YOU CAN’T… YOU’RE RIGHT”
BY HENRY FORD
WHO AM I?
• Quality software engineer
• Working in Kanban team (4 +5 people)
• Working on a middleware project
integrating banking front office with
backend systems
AGENDA
• Terminology – continuous integration/delivery/deployment
• Why should you care?
• Prerequisites
• Implementation
• Beware of pipeline dependencies
• Continuous deployment aka Zero down time deployment
CONTINUOUS…
• … Integration
• Merge changes to master/trunk at least daily
• You cannot merge to master/trunk if your code does not compile
• … Delivery
• Merge changes to master/trunk only if complete set of tests passed
• Make sure that you feel comfortable with deploying the artefact that
passed CD pipeline
• … Deployment
• Deploy to production at least daily
REALITY
• Continuously red night-builds
• Continuous analysis of the build result
• Continuous chasing for the guilty
• Continuous feeling of being a trouble-
maker
• Continuous manual regression
• Hardening iterations
• Continuous Delivery/Deployment
ENABLING "THE CONTINUOUS"
"DON'T DEMAND PERFECTION BUT INSIST ON
CONTINUOUS IMPROVEMENT" BY ANONYMOUS
• Scripts used to build environment
• Scripts used to build application
• Scripts used to deploy application
• Unit/Integration/System/Performance tests
PIPELINE HIGH LEVEL
PullReq Triggers Builds
Delivery Pipeline Plugin
PIPELINE DEPENDENCIES
• Upstream pipelines trigger downstream
• Dependency classification
• Static
• Fluid
• Guarded
ZERO DOWNTIME
• Blue-green deployment
ZERO DOWNTIME
• Blue-green deployment
• Canary deployment
• A bit more about „how”?
• „Expand and contract” pattern
• Non breakable changes
THANK YOU
REMIGIUSZ DUDEK

Mais conteúdo relacionado

Mais procurados

Delivering Projects the Pivotal Way
Delivering Projects the Pivotal WayDelivering Projects the Pivotal Way
Delivering Projects the Pivotal WayAaron Severs
 
Lean part of DevOps - DevOps Amsterdam meetup - 17-8-2016
Lean part of DevOps - DevOps Amsterdam meetup - 17-8-2016Lean part of DevOps - DevOps Amsterdam meetup - 17-8-2016
Lean part of DevOps - DevOps Amsterdam meetup - 17-8-2016Pavel Chunyayev
 
#nostaging - Software Circus - Amsterdam, 2-9-2016
#nostaging - Software Circus - Amsterdam, 2-9-2016#nostaging - Software Circus - Amsterdam, 2-9-2016
#nostaging - Software Circus - Amsterdam, 2-9-2016Pavel Chunyayev
 
Test Automation Canvas
Test Automation CanvasTest Automation Canvas
Test Automation CanvasAndrey Rebrov
 
Puppet camp 2015 phoenix david patterson
Puppet camp 2015 phoenix   david pattersonPuppet camp 2015 phoenix   david patterson
Puppet camp 2015 phoenix david pattersonPuppet
 
Agile Testing in Enterprise: Way to transform - SQA Days 2014
Agile Testing in Enterprise: Way to transform - SQA Days 2014Agile Testing in Enterprise: Way to transform - SQA Days 2014
Agile Testing in Enterprise: Way to transform - SQA Days 2014Andrey Rebrov
 
Effective language translation services with expert translators in u.s
Effective language translation services with expert translators in u.sEffective language translation services with expert translators in u.s
Effective language translation services with expert translators in u.sBel Translation Services
 
Continuous Feedback from Testing - Continuous Delivery meetup - Amsterdam, 14...
Continuous Feedback from Testing - Continuous Delivery meetup - Amsterdam, 14...Continuous Feedback from Testing - Continuous Delivery meetup - Amsterdam, 14...
Continuous Feedback from Testing - Continuous Delivery meetup - Amsterdam, 14...Pavel Chunyayev
 
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.Coolblue
 
ОЛЕКСАНДР СНІГОВИЙ «Continuous Deployment: Challenges, Solutions, and Lesson...
ОЛЕКСАНДР СНІГОВИЙ «Continuous Deployment: Challenges, Solutions, and Lesson...ОЛЕКСАНДР СНІГОВИЙ «Continuous Deployment: Challenges, Solutions, and Lesson...
ОЛЕКСАНДР СНІГОВИЙ «Continuous Deployment: Challenges, Solutions, and Lesson...UA DevOps Conference
 
#SPSDetroit 2017 improving #DevOps using #microsoft business productivity to...
#SPSDetroit 2017  improving #DevOps using #microsoft business productivity to...#SPSDetroit 2017  improving #DevOps using #microsoft business productivity to...
#SPSDetroit 2017 improving #DevOps using #microsoft business productivity to...Vincent Biret
 
Wonders of Portfolio = Long Term Planning + Agility
Wonders of Portfolio = Long Term Planning + AgilityWonders of Portfolio = Long Term Planning + Agility
Wonders of Portfolio = Long Term Planning + AgilityAtlassian
 
Spec By Example or How to teach people talk to each other
Spec By Example or How to teach people talk to each otherSpec By Example or How to teach people talk to each other
Spec By Example or How to teach people talk to each otherAndrey Rebrov
 
Pivotal tracker presentation 10-13-2010
Pivotal tracker presentation   10-13-2010Pivotal tracker presentation   10-13-2010
Pivotal tracker presentation 10-13-2010pivotjoe
 
Pizza Kanban Workshop - Andreyna Gonzalez
Pizza Kanban Workshop - Andreyna GonzalezPizza Kanban Workshop - Andreyna Gonzalez
Pizza Kanban Workshop - Andreyna GonzalezTOPdesk
 
DevOps: All About Automation
DevOps: All About AutomationDevOps: All About Automation
DevOps: All About AutomationJohannes Engelke
 
Progressive Feature Elaboration - Part 2
Progressive Feature Elaboration - Part 2Progressive Feature Elaboration - Part 2
Progressive Feature Elaboration - Part 2Bob Vincent
 
Developer day - AWS: Fast Environments = Fast Deployments
Developer day - AWS: Fast Environments = Fast DeploymentsDeveloper day - AWS: Fast Environments = Fast Deployments
Developer day - AWS: Fast Environments = Fast DeploymentsMatthew Cwalinski
 

Mais procurados (20)

Delivering Projects the Pivotal Way
Delivering Projects the Pivotal WayDelivering Projects the Pivotal Way
Delivering Projects the Pivotal Way
 
Lean part of DevOps - DevOps Amsterdam meetup - 17-8-2016
Lean part of DevOps - DevOps Amsterdam meetup - 17-8-2016Lean part of DevOps - DevOps Amsterdam meetup - 17-8-2016
Lean part of DevOps - DevOps Amsterdam meetup - 17-8-2016
 
#nostaging - Software Circus - Amsterdam, 2-9-2016
#nostaging - Software Circus - Amsterdam, 2-9-2016#nostaging - Software Circus - Amsterdam, 2-9-2016
#nostaging - Software Circus - Amsterdam, 2-9-2016
 
Test Automation Canvas
Test Automation CanvasTest Automation Canvas
Test Automation Canvas
 
Puppet camp 2015 phoenix david patterson
Puppet camp 2015 phoenix   david pattersonPuppet camp 2015 phoenix   david patterson
Puppet camp 2015 phoenix david patterson
 
Agile Testing in Enterprise: Way to transform - SQA Days 2014
Agile Testing in Enterprise: Way to transform - SQA Days 2014Agile Testing in Enterprise: Way to transform - SQA Days 2014
Agile Testing in Enterprise: Way to transform - SQA Days 2014
 
Bugtracking
BugtrackingBugtracking
Bugtracking
 
Effective language translation services with expert translators in u.s
Effective language translation services with expert translators in u.sEffective language translation services with expert translators in u.s
Effective language translation services with expert translators in u.s
 
Agile testing
Agile testingAgile testing
Agile testing
 
Continuous Feedback from Testing - Continuous Delivery meetup - Amsterdam, 14...
Continuous Feedback from Testing - Continuous Delivery meetup - Amsterdam, 14...Continuous Feedback from Testing - Continuous Delivery meetup - Amsterdam, 14...
Continuous Feedback from Testing - Continuous Delivery meetup - Amsterdam, 14...
 
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
 
ОЛЕКСАНДР СНІГОВИЙ «Continuous Deployment: Challenges, Solutions, and Lesson...
ОЛЕКСАНДР СНІГОВИЙ «Continuous Deployment: Challenges, Solutions, and Lesson...ОЛЕКСАНДР СНІГОВИЙ «Continuous Deployment: Challenges, Solutions, and Lesson...
ОЛЕКСАНДР СНІГОВИЙ «Continuous Deployment: Challenges, Solutions, and Lesson...
 
#SPSDetroit 2017 improving #DevOps using #microsoft business productivity to...
#SPSDetroit 2017  improving #DevOps using #microsoft business productivity to...#SPSDetroit 2017  improving #DevOps using #microsoft business productivity to...
#SPSDetroit 2017 improving #DevOps using #microsoft business productivity to...
 
Wonders of Portfolio = Long Term Planning + Agility
Wonders of Portfolio = Long Term Planning + AgilityWonders of Portfolio = Long Term Planning + Agility
Wonders of Portfolio = Long Term Planning + Agility
 
Spec By Example or How to teach people talk to each other
Spec By Example or How to teach people talk to each otherSpec By Example or How to teach people talk to each other
Spec By Example or How to teach people talk to each other
 
Pivotal tracker presentation 10-13-2010
Pivotal tracker presentation   10-13-2010Pivotal tracker presentation   10-13-2010
Pivotal tracker presentation 10-13-2010
 
Pizza Kanban Workshop - Andreyna Gonzalez
Pizza Kanban Workshop - Andreyna GonzalezPizza Kanban Workshop - Andreyna Gonzalez
Pizza Kanban Workshop - Andreyna Gonzalez
 
DevOps: All About Automation
DevOps: All About AutomationDevOps: All About Automation
DevOps: All About Automation
 
Progressive Feature Elaboration - Part 2
Progressive Feature Elaboration - Part 2Progressive Feature Elaboration - Part 2
Progressive Feature Elaboration - Part 2
 
Developer day - AWS: Fast Environments = Fast Deployments
Developer day - AWS: Fast Environments = Fast DeploymentsDeveloper day - AWS: Fast Environments = Fast Deployments
Developer day - AWS: Fast Environments = Fast Deployments
 

Destaque (13)

Apresentação
ApresentaçãoApresentação
Apresentação
 
Bobbi Hudson, Modeling trophic interactions in South Sound
Bobbi Hudson, Modeling trophic interactions in South SoundBobbi Hudson, Modeling trophic interactions in South Sound
Bobbi Hudson, Modeling trophic interactions in South Sound
 
Deportes
DeportesDeportes
Deportes
 
Verduras
VerdurasVerduras
Verduras
 
Mi apa
Mi   apaMi   apa
Mi apa
 
Programa definitivo jornadas
Programa definitivo jornadasPrograma definitivo jornadas
Programa definitivo jornadas
 
Vedere l’infinitamente piccolo (e grande)
Vedere l’infinitamente piccolo (e grande)Vedere l’infinitamente piccolo (e grande)
Vedere l’infinitamente piccolo (e grande)
 
002
002002
002
 
LEAN QUALIFICATION
LEAN QUALIFICATIONLEAN QUALIFICATION
LEAN QUALIFICATION
 
Defensa Personal
Defensa PersonalDefensa Personal
Defensa Personal
 
Petrofac
PetrofacPetrofac
Petrofac
 
CB-San-Diego-Business-Journal1
CB-San-Diego-Business-Journal1CB-San-Diego-Business-Journal1
CB-San-Diego-Business-Journal1
 
Project input devices
Project input devicesProject input devices
Project input devices
 

Semelhante a CountinuousDelivery

Crossing the Continuous Delivery Chasm - J. Paul Reed
Crossing the Continuous Delivery Chasm - J. Paul ReedCrossing the Continuous Delivery Chasm - J. Paul Reed
Crossing the Continuous Delivery Chasm - J. Paul ReedAtlassian
 
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...DevConFu
 
Perforce's Java Platform: Continuous Integration For Real
Perforce's Java Platform: Continuous Integration For RealPerforce's Java Platform: Continuous Integration For Real
Perforce's Java Platform: Continuous Integration For RealPerforce
 
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.Coolblue
 
Flusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryFlusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryJoost van der Griendt
 
Continuous everything
Continuous everythingContinuous everything
Continuous everythingTEST Huddle
 
Continuous Development: Supporting a Release Model
Continuous Development: Supporting a Release ModelContinuous Development: Supporting a Release Model
Continuous Development: Supporting a Release ModelPerforce
 
Facilitating Continuous Delivery at Scale
Facilitating Continuous Delivery at ScaleFacilitating Continuous Delivery at Scale
Facilitating Continuous Delivery at ScaleDaniel Woods
 
Continuous Delivery in Practice (extended)
Continuous Delivery in Practice (extended)Continuous Delivery in Practice (extended)
Continuous Delivery in Practice (extended)Tzach Zohar
 
The Continuous delivery value - Funaro
The Continuous delivery value - FunaroThe Continuous delivery value - Funaro
The Continuous delivery value - FunaroCodemotion
 
The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014David Funaro
 
CE2015 - Bringing Agile to Deployments 16x9
CE2015 - Bringing Agile to Deployments 16x9CE2015 - Bringing Agile to Deployments 16x9
CE2015 - Bringing Agile to Deployments 16x9Christopher Gallo
 
Continuous Integration In A PHP World
Continuous Integration In A PHP WorldContinuous Integration In A PHP World
Continuous Integration In A PHP WorldIdaf_1er
 
Delivering the Dude: Continuous X
Delivering the Dude: Continuous XDelivering the Dude: Continuous X
Delivering the Dude: Continuous XBrent Pabst
 
State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015Pavel Chunyayev
 
Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015ITSpringBY
 
Continuous integration, delivery & deployment
Continuous integration,  delivery & deploymentContinuous integration,  delivery & deployment
Continuous integration, delivery & deploymentMartijn van der Kamp
 
AgileLINC Continous Slides by Daniel Harp
AgileLINC Continous Slides by Daniel HarpAgileLINC Continous Slides by Daniel Harp
AgileLINC Continous Slides by Daniel HarpBarry Gavril
 
The Road to Continuous Delivery at Perforce
The Road to Continuous Delivery at PerforceThe Road to Continuous Delivery at Perforce
The Road to Continuous Delivery at PerforcePerforce
 

Semelhante a CountinuousDelivery (20)

Crossing the Continuous Delivery Chasm - J. Paul Reed
Crossing the Continuous Delivery Chasm - J. Paul ReedCrossing the Continuous Delivery Chasm - J. Paul Reed
Crossing the Continuous Delivery Chasm - J. Paul Reed
 
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
 
Perforce's Java Platform: Continuous Integration For Real
Perforce's Java Platform: Continuous Integration For RealPerforce's Java Platform: Continuous Integration For Real
Perforce's Java Platform: Continuous Integration For Real
 
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
 
Flusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryFlusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous Delivery
 
Continuous everything
Continuous everythingContinuous everything
Continuous everything
 
Continuous Development: Supporting a Release Model
Continuous Development: Supporting a Release ModelContinuous Development: Supporting a Release Model
Continuous Development: Supporting a Release Model
 
Facilitating Continuous Delivery at Scale
Facilitating Continuous Delivery at ScaleFacilitating Continuous Delivery at Scale
Facilitating Continuous Delivery at Scale
 
Continuous Delivery in Practice (extended)
Continuous Delivery in Practice (extended)Continuous Delivery in Practice (extended)
Continuous Delivery in Practice (extended)
 
The Continuous delivery value - Funaro
The Continuous delivery value - FunaroThe Continuous delivery value - Funaro
The Continuous delivery value - Funaro
 
The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014
 
CE2015 - Bringing Agile to Deployments 16x9
CE2015 - Bringing Agile to Deployments 16x9CE2015 - Bringing Agile to Deployments 16x9
CE2015 - Bringing Agile to Deployments 16x9
 
Continuous Integration In A PHP World
Continuous Integration In A PHP WorldContinuous Integration In A PHP World
Continuous Integration In A PHP World
 
Transition from CI to CD
Transition from CI to CDTransition from CI to CD
Transition from CI to CD
 
Delivering the Dude: Continuous X
Delivering the Dude: Continuous XDelivering the Dude: Continuous X
Delivering the Dude: Continuous X
 
State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015
 
Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015
 
Continuous integration, delivery & deployment
Continuous integration,  delivery & deploymentContinuous integration,  delivery & deployment
Continuous integration, delivery & deployment
 
AgileLINC Continous Slides by Daniel Harp
AgileLINC Continous Slides by Daniel HarpAgileLINC Continous Slides by Daniel Harp
AgileLINC Continous Slides by Daniel Harp
 
The Road to Continuous Delivery at Perforce
The Road to Continuous Delivery at PerforceThe Road to Continuous Delivery at Perforce
The Road to Continuous Delivery at Perforce
 

CountinuousDelivery

  • 1. CONTINUOUS DELIVERY „WHETHER YOU THINK YOU CAN, OR YOU THINK YOU CAN’T… YOU’RE RIGHT” BY HENRY FORD
  • 2. WHO AM I? • Quality software engineer • Working in Kanban team (4 +5 people) • Working on a middleware project integrating banking front office with backend systems
  • 3. AGENDA • Terminology – continuous integration/delivery/deployment • Why should you care? • Prerequisites • Implementation • Beware of pipeline dependencies • Continuous deployment aka Zero down time deployment
  • 4. CONTINUOUS… • … Integration • Merge changes to master/trunk at least daily • You cannot merge to master/trunk if your code does not compile • … Delivery • Merge changes to master/trunk only if complete set of tests passed • Make sure that you feel comfortable with deploying the artefact that passed CD pipeline • … Deployment • Deploy to production at least daily
  • 5. REALITY • Continuously red night-builds • Continuous analysis of the build result • Continuous chasing for the guilty • Continuous feeling of being a trouble- maker • Continuous manual regression • Hardening iterations • Continuous Delivery/Deployment
  • 6. ENABLING "THE CONTINUOUS" "DON'T DEMAND PERFECTION BUT INSIST ON CONTINUOUS IMPROVEMENT" BY ANONYMOUS • Scripts used to build environment • Scripts used to build application • Scripts used to deploy application • Unit/Integration/System/Performance tests
  • 7. PIPELINE HIGH LEVEL PullReq Triggers Builds
  • 9.
  • 10. PIPELINE DEPENDENCIES • Upstream pipelines trigger downstream • Dependency classification • Static • Fluid • Guarded
  • 12. ZERO DOWNTIME • Blue-green deployment • Canary deployment • A bit more about „how”? • „Expand and contract” pattern • Non breakable changes
  • 13.

Notas do Editor

  1. Static – changes in static upstream dependencies does not trigger downstream builds Fluid – changes in fluid dependencies trigger downstream builds alwas Guarded – if build for given fluid dependency failed, the dependency is set to last known good one and it is marked as guarded