SlideShare a Scribd company logo
Continuous Delivery
Deliver software fast
Elke twee weken naar
productie
Léon Tebbens
met Jenkins, Gradle, Twist en Puppet
Wat is Continuous Delivery
https://www.youtube.com/watch?v=SIaVsG7m8n4
Resultaat Continuous Delivery
Een continue stroom van
geteste user stories.
Die met knopdruk live
kunnen
Wat is Continuous Delivery
Automatiseer al het werk na
schrijven van de code:
Builds
Testen
Deployment (ook naar productie)
En maak het supersnel
Wat is Continuous Delivery
1.Developer checks-in code
wijziging
2.Automatische tests voor
codekwaliteit en integratie
3.Software wordt automatisch op
server gezet
4.Automatische user story tests
5.Bij fout -> email naar developer
en naar stap 1
6.Software live zetten (knopdruk)
Jenkins
Continuous Delivery met Jenkins
Check Out
Unit
tests
code
kwaliteit
Packag
e
Deploy
Twist &
Seleniu
m Grid
FAT
Chrome
browser
Puppe
t
Webserve
r
SVN /
Git
Artifactory
repo
kwaliteit
Developer
Commit
Continuous Delivery met Jenkins
Demo
Continuous Delivery Tooling
Subversion/Git: codebeheer
Gradle: builds
Jenkins: CD-pipelineserver
Puppet: provisioning & roll-out
Twist: testscenario's
Selenium: testcode
Chrome: browser
OpenVAS: security tests (toekomst)
Waarom willen we dit?
Wanneer testen?
Wanneer testen?
Testen na livegang zoals Dilbert: nope
Testen aan eind van project?:
Groot risico op uitloop of livegang met veel
restpunten (onvoltooid werk), dus ontevreden
business
Het meest efficiënt is testen tijdens de ontwikkeling,
je hebt dan directe feedback
Dit geldt ook voor integratietesten en ketentesten!
Flow = efficiënt
Software maken is complex, lukt alleen in stukjes (user stories)
"Must fit in my head": als developer kan ik 1 story per keer
helemaal in mijn hoofd hebben.
Story afronden, direct testen (laptop, testomgeving, continu),
en dus directe feedback zorgt voor flow
Flow is hét Lean principe! Naast built quality in, first time right
CD is must voor Scrum
Scrumteams: iedereen is developer
Geen full-time testers, testen doet het team
Elke twee weken een release(kandidaat)
Automatiseren is een must:
- builds
- unit & integratietests
- user scenario tests
- regressietests
Changes na livegang
Change-release Geen CD Met CD
Development 8 dagen 10 dagen
Integreren 1 week Continu
Testen & rework 2 weken 2 dagen
Time-to-market: 5 weken 2 weken + 2 dgn
Ervaringscijfers Alliander webteam
Wrap up: waarom CD?
• Must voor Scrum projecten
• Geen "waste" na livegang
• Voorspelbaar opleveren
• DevOps
• Best practise in de wereld, bv ING-bank
• Elke twee weken werkende software in productie!
Appendix: Testen bouwen
Omdenken: testen maken is een teameffort
• Test-scenario: bedenkt de tester (TMap)
• Testcode om browser mee te sturen: schrijft een
ontwikkelaar
• Dit is een best practise die werkt!
• Geloof niet in record&play tooling, die breekt
Vragen?
Ad

More Related Content

What's hot (20)

BPUG Seminar 2014 Rik Marselis - effectief testen in agile
BPUG Seminar 2014 Rik Marselis - effectief testen in agileBPUG Seminar 2014 Rik Marselis - effectief testen in agile
BPUG Seminar 2014 Rik Marselis - effectief testen in agile
Rik Marselis
 
Agile Resultaat Met PRINCE2 Controle V1 0
Agile Resultaat Met PRINCE2 Controle V1 0Agile Resultaat Met PRINCE2 Controle V1 0
Agile Resultaat Met PRINCE2 Controle V1 0
Martin van Borselaer
 
Seminar lean en agile it, 2 veranderen en beheren
Seminar lean en agile it, 2   veranderen en beherenSeminar lean en agile it, 2   veranderen en beheren
Seminar lean en agile it, 2 veranderen en beheren
Martin van Borselaer
 
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleHoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Sjoerd Hemminga
 
SCRUM essentials voor PRINCE2 project managagers
SCRUM essentials voor PRINCE2 project managagersSCRUM essentials voor PRINCE2 project managagers
SCRUM essentials voor PRINCE2 project managagers
Tricode (part of Dept)
 
Webinar DevOps Acceleration Program
Webinar DevOps Acceleration Program Webinar DevOps Acceleration Program
Webinar DevOps Acceleration Program
Delta-N
 
Guru4 pro lean_software_development_v1.0
Guru4 pro lean_software_development_v1.0Guru4 pro lean_software_development_v1.0
Guru4 pro lean_software_development_v1.0
Edward John Crain
 
FlightCheck Online - Do More 2007
FlightCheck Online - Do More 2007FlightCheck Online - Do More 2007
FlightCheck Online - Do More 2007
arnold
 
Lean PRINCE2, projectmanagement is waste (maar noodzakelijk)
Lean PRINCE2, projectmanagement is waste (maar noodzakelijk)Lean PRINCE2, projectmanagement is waste (maar noodzakelijk)
Lean PRINCE2, projectmanagement is waste (maar noodzakelijk)
Martin van Borselaer
 
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleHoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Jeroen Reijn
 
JavaLand 2017 - Pipeline as code
JavaLand 2017 - Pipeline as codeJavaLand 2017 - Pipeline as code
JavaLand 2017 - Pipeline as code
Bert Jan Schrijver
 
Fail fast Fail cheap - Agile Development, Testing & Delivery
Fail fast Fail cheap - Agile Development, Testing & DeliveryFail fast Fail cheap - Agile Development, Testing & Delivery
Fail fast Fail cheap - Agile Development, Testing & Delivery
ltebbens
 
DevOps bij Alliander - een praktijkvoorbeeld
DevOps bij Alliander - een praktijkvoorbeeldDevOps bij Alliander - een praktijkvoorbeeld
DevOps bij Alliander - een praktijkvoorbeeld
ltebbens
 
Workshop BI/DWH AGILE TESTING Zwitserleven Dutch
Workshop BI/DWH AGILE TESTING Zwitserleven DutchWorkshop BI/DWH AGILE TESTING Zwitserleven Dutch
Workshop BI/DWH AGILE TESTING Zwitserleven Dutch
Marcus Drost
 
TMap dag - Agile testautomatisering in de praktijk
TMap dag - Agile testautomatisering in de praktijkTMap dag - Agile testautomatisering in de praktijk
TMap dag - Agile testautomatisering in de praktijk
Jori Ramakers
 
Vraag 01 devops examenvoorbereiding
Vraag 01 devops examenvoorbereidingVraag 01 devops examenvoorbereiding
Vraag 01 devops examenvoorbereiding
Mettje Heegstra
 
Agile werken @schiphol
Agile werken @schipholAgile werken @schiphol
Agile werken @schiphol
Delta-N
 
I am a agile tester, because...(Agile testing put to practice)
I am a agile tester, because...(Agile testing put to practice)I am a agile tester, because...(Agile testing put to practice)
I am a agile tester, because...(Agile testing put to practice)
Derk-Jan de Grood
 
BPUG Seminar 2014 Rik Marselis - effectief testen in agile
BPUG Seminar 2014 Rik Marselis - effectief testen in agileBPUG Seminar 2014 Rik Marselis - effectief testen in agile
BPUG Seminar 2014 Rik Marselis - effectief testen in agile
Rik Marselis
 
Agile Resultaat Met PRINCE2 Controle V1 0
Agile Resultaat Met PRINCE2 Controle V1 0Agile Resultaat Met PRINCE2 Controle V1 0
Agile Resultaat Met PRINCE2 Controle V1 0
Martin van Borselaer
 
Seminar lean en agile it, 2 veranderen en beheren
Seminar lean en agile it, 2   veranderen en beherenSeminar lean en agile it, 2   veranderen en beheren
Seminar lean en agile it, 2 veranderen en beheren
Martin van Borselaer
 
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleHoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Sjoerd Hemminga
 
SCRUM essentials voor PRINCE2 project managagers
SCRUM essentials voor PRINCE2 project managagersSCRUM essentials voor PRINCE2 project managagers
SCRUM essentials voor PRINCE2 project managagers
Tricode (part of Dept)
 
Webinar DevOps Acceleration Program
Webinar DevOps Acceleration Program Webinar DevOps Acceleration Program
Webinar DevOps Acceleration Program
Delta-N
 
Guru4 pro lean_software_development_v1.0
Guru4 pro lean_software_development_v1.0Guru4 pro lean_software_development_v1.0
Guru4 pro lean_software_development_v1.0
Edward John Crain
 
FlightCheck Online - Do More 2007
FlightCheck Online - Do More 2007FlightCheck Online - Do More 2007
FlightCheck Online - Do More 2007
arnold
 
Lean PRINCE2, projectmanagement is waste (maar noodzakelijk)
Lean PRINCE2, projectmanagement is waste (maar noodzakelijk)Lean PRINCE2, projectmanagement is waste (maar noodzakelijk)
Lean PRINCE2, projectmanagement is waste (maar noodzakelijk)
Martin van Borselaer
 
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleHoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Jeroen Reijn
 
JavaLand 2017 - Pipeline as code
JavaLand 2017 - Pipeline as codeJavaLand 2017 - Pipeline as code
JavaLand 2017 - Pipeline as code
Bert Jan Schrijver
 
Fail fast Fail cheap - Agile Development, Testing & Delivery
Fail fast Fail cheap - Agile Development, Testing & DeliveryFail fast Fail cheap - Agile Development, Testing & Delivery
Fail fast Fail cheap - Agile Development, Testing & Delivery
ltebbens
 
DevOps bij Alliander - een praktijkvoorbeeld
DevOps bij Alliander - een praktijkvoorbeeldDevOps bij Alliander - een praktijkvoorbeeld
DevOps bij Alliander - een praktijkvoorbeeld
ltebbens
 
Workshop BI/DWH AGILE TESTING Zwitserleven Dutch
Workshop BI/DWH AGILE TESTING Zwitserleven DutchWorkshop BI/DWH AGILE TESTING Zwitserleven Dutch
Workshop BI/DWH AGILE TESTING Zwitserleven Dutch
Marcus Drost
 
TMap dag - Agile testautomatisering in de praktijk
TMap dag - Agile testautomatisering in de praktijkTMap dag - Agile testautomatisering in de praktijk
TMap dag - Agile testautomatisering in de praktijk
Jori Ramakers
 
Vraag 01 devops examenvoorbereiding
Vraag 01 devops examenvoorbereidingVraag 01 devops examenvoorbereiding
Vraag 01 devops examenvoorbereiding
Mettje Heegstra
 
Agile werken @schiphol
Agile werken @schipholAgile werken @schiphol
Agile werken @schiphol
Delta-N
 
I am a agile tester, because...(Agile testing put to practice)
I am a agile tester, because...(Agile testing put to practice)I am a agile tester, because...(Agile testing put to practice)
I am a agile tester, because...(Agile testing put to practice)
Derk-Jan de Grood
 

Similar to Continuous delivery met jenkins twist en puppet (20)

Robot framework en ci v2
Robot framework en ci v2Robot framework en ci v2
Robot framework en ci v2
christiantester
 
Fronteers Modern Testing
Fronteers Modern TestingFronteers Modern Testing
Fronteers Modern Testing
Maarten Groeneweg
 
ING : How top quality software and state-of-the-art technology leads to conti...
ING : How top quality software and state-of-the-art technology leads to conti...ING : How top quality software and state-of-the-art technology leads to conti...
ING : How top quality software and state-of-the-art technology leads to conti...
NLJUG
 
Sdb Presentatie
Sdb PresentatieSdb Presentatie
Sdb Presentatie
menfey
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
roelofr
 
Take control of your deployments with Release Management
Take control of your deployments with Release ManagementTake control of your deployments with Release Management
Take control of your deployments with Release Management
Rick van den Bosch
 
Ode aan de code #4
Ode aan de code #4Ode aan de code #4
Ode aan de code #4
Bart van Asselt
 
Veranderen en Beheren - Seminar Lean en Agile IT (deel 2)
Veranderen en Beheren - Seminar Lean en Agile IT (deel 2)Veranderen en Beheren - Seminar Lean en Agile IT (deel 2)
Veranderen en Beheren - Seminar Lean en Agile IT (deel 2)
Whitehorses
 
JavaZone 2016: Continuous performance
JavaZone 2016: Continuous performanceJavaZone 2016: Continuous performance
JavaZone 2016: Continuous performance
Bert Jan Schrijver
 
PFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele testsPFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele tests
Richard Tuin
 
Integratiefase
IntegratiefaseIntegratiefase
Integratiefase
guest6fcef5
 
Integratiefase
IntegratiefaseIntegratiefase
Integratiefase
Arne Vandenbussche
 
JavaLand 2016: Continuous performance
JavaLand 2016: Continuous performanceJavaLand 2016: Continuous performance
JavaLand 2016: Continuous performance
Bert Jan Schrijver
 
Continuous deployment en SaaS ontzorgen – u excelleert - SEE 2016
Continuous deployment en SaaS ontzorgen – u excelleert - SEE 2016Continuous deployment en SaaS ontzorgen – u excelleert - SEE 2016
Continuous deployment en SaaS ontzorgen – u excelleert - SEE 2016
TOPdesk
 
Van glazen bol naar raam - Monitor je product
Van glazen bol naar raam - Monitor je product Van glazen bol naar raam - Monitor je product
Van glazen bol naar raam - Monitor je product
Eddy Bruin
 
Magento 2 Seminar - Jisse Reitsma - Magento 2 techniek vertalen naar voordelen
Magento 2 Seminar - Jisse Reitsma - Magento 2 techniek vertalen naar voordelenMagento 2 Seminar - Jisse Reitsma - Magento 2 techniek vertalen naar voordelen
Magento 2 Seminar - Jisse Reitsma - Magento 2 techniek vertalen naar voordelen
Yireo
 
Introductie at framework
Introductie at frameworkIntroductie at framework
Introductie at framework
Erwin Heitzman
 
Drupaljam Testing 20090626
Drupaljam Testing 20090626Drupaljam Testing 20090626
Drupaljam Testing 20090626
Raymond Muilwijk
 
embedded Linux, van Black Tot QA
embedded Linux, van Black Tot QAembedded Linux, van Black Tot QA
embedded Linux, van Black Tot QA
Albert Mietus
 
Robot framework en ci v2
Robot framework en ci v2Robot framework en ci v2
Robot framework en ci v2
christiantester
 
ING : How top quality software and state-of-the-art technology leads to conti...
ING : How top quality software and state-of-the-art technology leads to conti...ING : How top quality software and state-of-the-art technology leads to conti...
ING : How top quality software and state-of-the-art technology leads to conti...
NLJUG
 
Sdb Presentatie
Sdb PresentatieSdb Presentatie
Sdb Presentatie
menfey
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
roelofr
 
Take control of your deployments with Release Management
Take control of your deployments with Release ManagementTake control of your deployments with Release Management
Take control of your deployments with Release Management
Rick van den Bosch
 
Veranderen en Beheren - Seminar Lean en Agile IT (deel 2)
Veranderen en Beheren - Seminar Lean en Agile IT (deel 2)Veranderen en Beheren - Seminar Lean en Agile IT (deel 2)
Veranderen en Beheren - Seminar Lean en Agile IT (deel 2)
Whitehorses
 
JavaZone 2016: Continuous performance
JavaZone 2016: Continuous performanceJavaZone 2016: Continuous performance
JavaZone 2016: Continuous performance
Bert Jan Schrijver
 
PFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele testsPFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele tests
Richard Tuin
 
JavaLand 2016: Continuous performance
JavaLand 2016: Continuous performanceJavaLand 2016: Continuous performance
JavaLand 2016: Continuous performance
Bert Jan Schrijver
 
Continuous deployment en SaaS ontzorgen – u excelleert - SEE 2016
Continuous deployment en SaaS ontzorgen – u excelleert - SEE 2016Continuous deployment en SaaS ontzorgen – u excelleert - SEE 2016
Continuous deployment en SaaS ontzorgen – u excelleert - SEE 2016
TOPdesk
 
Van glazen bol naar raam - Monitor je product
Van glazen bol naar raam - Monitor je product Van glazen bol naar raam - Monitor je product
Van glazen bol naar raam - Monitor je product
Eddy Bruin
 
Magento 2 Seminar - Jisse Reitsma - Magento 2 techniek vertalen naar voordelen
Magento 2 Seminar - Jisse Reitsma - Magento 2 techniek vertalen naar voordelenMagento 2 Seminar - Jisse Reitsma - Magento 2 techniek vertalen naar voordelen
Magento 2 Seminar - Jisse Reitsma - Magento 2 techniek vertalen naar voordelen
Yireo
 
Introductie at framework
Introductie at frameworkIntroductie at framework
Introductie at framework
Erwin Heitzman
 
Drupaljam Testing 20090626
Drupaljam Testing 20090626Drupaljam Testing 20090626
Drupaljam Testing 20090626
Raymond Muilwijk
 
embedded Linux, van Black Tot QA
embedded Linux, van Black Tot QAembedded Linux, van Black Tot QA
embedded Linux, van Black Tot QA
Albert Mietus
 
Ad

Continuous delivery met jenkins twist en puppet

  • 1. Continuous Delivery Deliver software fast Elke twee weken naar productie Léon Tebbens met Jenkins, Gradle, Twist en Puppet
  • 2. Wat is Continuous Delivery https://www.youtube.com/watch?v=SIaVsG7m8n4
  • 3. Resultaat Continuous Delivery Een continue stroom van geteste user stories. Die met knopdruk live kunnen
  • 4. Wat is Continuous Delivery Automatiseer al het werk na schrijven van de code: Builds Testen Deployment (ook naar productie) En maak het supersnel
  • 5. Wat is Continuous Delivery 1.Developer checks-in code wijziging 2.Automatische tests voor codekwaliteit en integratie 3.Software wordt automatisch op server gezet 4.Automatische user story tests 5.Bij fout -> email naar developer en naar stap 1 6.Software live zetten (knopdruk)
  • 6. Jenkins Continuous Delivery met Jenkins Check Out Unit tests code kwaliteit Packag e Deploy Twist & Seleniu m Grid FAT Chrome browser Puppe t Webserve r SVN / Git Artifactory repo kwaliteit Developer Commit
  • 7. Continuous Delivery met Jenkins Demo
  • 8. Continuous Delivery Tooling Subversion/Git: codebeheer Gradle: builds Jenkins: CD-pipelineserver Puppet: provisioning & roll-out Twist: testscenario's Selenium: testcode Chrome: browser OpenVAS: security tests (toekomst)
  • 11. Wanneer testen? Testen na livegang zoals Dilbert: nope Testen aan eind van project?: Groot risico op uitloop of livegang met veel restpunten (onvoltooid werk), dus ontevreden business Het meest efficiënt is testen tijdens de ontwikkeling, je hebt dan directe feedback
  • 12. Dit geldt ook voor integratietesten en ketentesten!
  • 13. Flow = efficiënt Software maken is complex, lukt alleen in stukjes (user stories) "Must fit in my head": als developer kan ik 1 story per keer helemaal in mijn hoofd hebben. Story afronden, direct testen (laptop, testomgeving, continu), en dus directe feedback zorgt voor flow Flow is hét Lean principe! Naast built quality in, first time right
  • 14. CD is must voor Scrum Scrumteams: iedereen is developer Geen full-time testers, testen doet het team Elke twee weken een release(kandidaat) Automatiseren is een must: - builds - unit & integratietests - user scenario tests - regressietests
  • 15. Changes na livegang Change-release Geen CD Met CD Development 8 dagen 10 dagen Integreren 1 week Continu Testen & rework 2 weken 2 dagen Time-to-market: 5 weken 2 weken + 2 dgn Ervaringscijfers Alliander webteam
  • 16. Wrap up: waarom CD? • Must voor Scrum projecten • Geen "waste" na livegang • Voorspelbaar opleveren • DevOps • Best practise in de wereld, bv ING-bank • Elke twee weken werkende software in productie!
  • 17. Appendix: Testen bouwen Omdenken: testen maken is een teameffort • Test-scenario: bedenkt de tester (TMap) • Testcode om browser mee te sturen: schrijft een ontwikkelaar • Dit is een best practise die werkt! • Geloof niet in record&play tooling, die breekt