View
4.171
Download
4
Embed Size (px)
DESCRIPTION
Vortrag von Axel Fontain am 22. Juni 2011 vor der JUG Berlin-Brandenburg zum Thema Continuous Delivery and Continuous Deployment.
Citation preview
Continuous Delivery
Axel Fontaine Software Development Expert
22.06.2011
twitter.com/axelfontaine www.axelfontaine.com [email protected]
Ceci n’est pas une build tool.
Ceci n’est pas une version control.
Ceci n’est pas une testing.
http://www.flickr.com/photos/vitorcastillo/2994723741/
Ceci n’est pas une deployment.
http://www.flickr.com/photos/chiotsrun/4457365506/
Ceci n’est pas une process.
http://www.flickr.com/photos/feffef/460299390/in/photostream/
Geht es auch anders?
http://code.flickr.com/
http://stackoverflow.com/
http://www.flickr.com/photos/aeroworks/97338266/in/photostream/
http://digitalcitizen.ca/2009/06/22/simpsons-profile-pics-for-facebook-and-other-applications/
Fokus der letzten 10 Jahre
Fokus von Continuous Delivery
Continuous
Delivery
http://www.flickr.com/photos/kamshots/3096111340/
Zuverlässige Software Releases durch
Build Automatisierung Test Automatisierung Deployment Automatisierung
Build Automatisierung
http://www.flickr.com/photos/fordapa/3886403372/in/set-72157622110280353/
Build
DEV
Version Control
Build
DEV
Version Control
Build Build
DEV Continuous Integration
Build Automatisierung
Schneller Build ---> Schnelles Feedback Früh einchecken, oft einchecken Build grün hat die höchste Prio Nichts Neues einchecken, solange Build rot ist Zurückrollen, wenn Build zu lange rot ist
Test Automatisierung
http://www.flickr.com/photos/travelinlibrarian/160356388/
Unit Test Component Test Black Box
System Test
Small Medium Large
Unit Test Component Test Black Box
System Test
Small Medium Large
Anwendung System A
System B
DB
Large Test
Anwendung System A
System B
DB
Anwendung System A
System B Dummy
DB
Large Test
Anwendung System A
System B Dummy
DB
Large Test
Anwendung System A
System B Dummy
DB
Large Test
Version Control
Build Build
DEV Continuous Integration
Small Tests
Version Control
Build Build
DEV Continuous Integration
Small Tests
Medium Tests
Version Control
Build Build
DEV Continuous Integration
Small Tests
Medium Tests
Large Tests
Version Control
Build Build
DEV Continuous Integration
Small Tests
Medium Tests
Large Tests
Small Tests
Medium Tests
Large Tests
Test Automatisierung
Schnelle Tests ---> Schnelles Feedback Alle Tests ausführen vor dem Einchecken Dummies einsetzen für externe Systeme Tests laufen komplett lokal (auch ext. Systeme) Tests mit @Ignore nicht einchecken
Deployment Automatisierung
http://www.flickr.com/photos/soldiersmediacenter/3650607959/
Snapshots
werden
NICHT
deployed !
Version Control
Build Build Release
DEV Continuous Integration
Small Tests
Medium Tests
Large Tests
Small Tests
Medium Tests
Large Tests
Artifact Repository
DB Delta Code Konfiguration
Was wird deployed?
Code
Deployment Package
Deployment Script
backup stop install start …
Code
Deployment Package
Deployment Script
backup stop install start …
Release
Continuous Integration
Artifact Repository
Ziel
Deployment Script
backup stop install start …
Konfiguration
Code Deployment Package
Configuration Server
File System
Umgebung Sicherheit Applikation Applikation
+
Umgebung
Code
Deployment Package
?
Environment Detection
Code
Environment Detection
Abnahme
Release
Continuous Integration
Artifact Repository
Ziel
Deployment Script
backup stop install start …
DB Delta
Code
Deployment Package
Code
Deployment Package
DB ?
?
http://code.google.com/p/flyway/
Release
Continuous Integration
Artifact Repository
Ziel
Deployment Script
backup stop install start …
Deployment Automatisierung
Schnelles Deployment ---> Schnelles Feedback Ein Deployment Package … … mit Code, Konfiguration und DB Delta … … vollautomatisiert deployen … … nach jedem grünen Build !
Version Control
Build Build Release
DEV Continuous Integration
Small Tests
Medium Tests
Large Tests
Small Tests
Medium Tests
Large Tests
Artifact Repository
Ziel
Deployment Script
backup stop install start …
3 more things…
Registrierung
Briefversand
Registrierung
Briefversand
Registrierung v2
Briefversand
Paketversand
Registrierung
Briefversand
Branch by Abstraction
Paketversand
Registrierung
Briefversand
Branch by Abstraction
Paketversand
DB
DB Memcache
DB Memcache
Blue/Green Deployments
Code
Deployment Package
Zusammenfassung
• Team (a-team van)
ISBN-13: 978-0-321-60191-9
Danke ! Axel Fontaine Software Development Expert
twitter.com/axelfontaine www.axelfontaine.com [email protected]