continuous delivery
TRANSCRIPT
Continuous Delivery
Steffen Gebert (@StGebert)DevOps-Meetup Würzburg Mainfranken, 07.11.2016
Slides: st-g.de/speaking
Image courtesy of
2
Continuous Delivery• Änderungen, wie z.B.
• Features• Bug fixes• Konfigurationsänderungen• Experimente
• jeweils• zuverlässig• schnell• kontinuierlich• sicher
• zum Benutzer bzw. in den Betrieb bringennach: Jez Humble, continuousdelivery.com
About MeResearcher / PhD Student(Software-based Networks)2011 - 2016
Core Team Member2010 - 2013Server Admin Team Member
since 2011
3
4
Fluss• von Änderungen• und damit von Arbeit
5
Unsere Arbeit: Code
Software Infrastruktur Compliance …Konfiguration
6
Ziel: Kunde
7
8
Wertstrom / Lieferkette
Qualitätssicherung Veröffentlichung(Release, Deployment)
KundeCode
Entscheider
9
Release 0.1
10
Release 1.0
11
Release 2.0
12
Release 3.0
13
Das KernproblemNoch mehr Features!
Ufff..
O
O
O O
Deployments
Was solls, die paar Bugs..
14
Technische Schuld
15
Stoppt den Fluss
16
In der Regel krachts..
17
Informatiker haben anderen Rhythmus – sagt man
18
Software-Deployments
19
Single PieceDelivery
20Lean Manufacturing
Foto: Toyota
21
Durchfluss maximieren
22
Deployment Pipeline
Automatisiertes Release / Deployment
Stage
2Versionskontrolle
Stage
1Stage
….
23
Yahoo / flickr
24
Amazon• Let me say that again. Amazon deploys new software to production every 11.6 seconds
25
26
27
Wertstrom / Lieferkette
28
Deployment PipelineVersionskontroll
eAutomatisierte Akzeptanztests
Benutzer-Akzeptanztests
Automatisiertes Release /
DeploymentKompilieren
29
Deployment PipelineVersionskontroll
eAutomatisierte Akzeptanztests
Benutzer-Akzeptanztests
Automatisiertes Release /
DeploymentKompilieren
30
Deployment PipelineVersionskontroll
eAutomatisierte Akzeptanztests
Benutzer-Akzeptanztests
Automatisiertes Release /
Deployment
Unit Tests
Funktionale Tests
Nicht-funktionale
Tests
Syntaxcheck
Kompilieren
Testpyramide
31
Code von damals…
32
Schnelles Feedback
33
Deployment Pipeline
34
Deployment PipelineVersionskontroll
eAutomatisierte Akzeptanztests
Benutzer-Akzeptanztests
Automatisiertes Release /
DeploymentKompilieren
35
Produktiv- und Testumgebung(en)
36
Deployment PipelineVersionskontroll
eAutomatisierte Akzeptanztests
Benutzer-Akzeptanztests
Automatisiertes Release /
DeploymentKompilieren
37
Commits in Mainline• Subversion: trunk• Git: master
38
Feierabend < Feature fertig?
39
Features verstecken?
Image: http://wallpaperfolder.com/wallpapers/invisible+man
40
Feature Toggles
41
Kontinuierliches Experimentieren
42
Feedback aus Produktivbetrieb
43
CD Pipelines mit Jenkins• Jenkins ist Open-Source CI/CD Server
• Mehr unterjenkins.io bzw. st-g.de/speaking
44
Continuous Delivery• Änderungen, wie z.B.
• Features• Bug fixes• Konfigurationsänderungen• Experimente
• jeweils• zuverlässig• schnell• kontinuierlich• sicher
• zum Benutzer bzw. in den Betrieb bringennach: Jez Humble, continuousdelivery.com