69
Continuous Delivery Axel Fontaine Software Development Expert 22.06.2011 twitter.com/axelfontaine www.axelfontaine.com [email protected]

Continuous Delivery

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

Page 1: Continuous Delivery

Continuous Delivery

Axel Fontaine Software Development Expert

22.06.2011

twitter.com/axelfontaine www.axelfontaine.com [email protected]

Page 2: Continuous Delivery
Page 3: Continuous Delivery

Ceci n’est pas une build tool.

Page 4: Continuous Delivery

Ceci n’est pas une version control.

Page 5: Continuous Delivery

Ceci n’est pas une testing.

http://www.flickr.com/photos/vitorcastillo/2994723741/

Page 6: Continuous Delivery

Ceci n’est pas une deployment.

http://www.flickr.com/photos/chiotsrun/4457365506/

Page 7: Continuous Delivery

Ceci n’est pas une process.

http://www.flickr.com/photos/feffef/460299390/in/photostream/

Page 8: Continuous Delivery

Geht es auch anders?

Page 9: Continuous Delivery
Page 10: Continuous Delivery

http://code.flickr.com/

Page 11: Continuous Delivery
Page 12: Continuous Delivery

http://stackoverflow.com/

Page 13: Continuous Delivery

http://www.flickr.com/photos/aeroworks/97338266/in/photostream/

Page 14: Continuous Delivery

http://digitalcitizen.ca/2009/06/22/simpsons-profile-pics-for-facebook-and-other-applications/

Page 15: Continuous Delivery
Page 16: Continuous Delivery

Fokus der letzten 10 Jahre

Fokus von Continuous Delivery

Page 17: Continuous Delivery

Continuous

Delivery

http://www.flickr.com/photos/kamshots/3096111340/

Page 18: Continuous Delivery

Zuverlässige Software Releases durch

Build Automatisierung Test Automatisierung Deployment Automatisierung

Page 19: Continuous Delivery

Build Automatisierung

http://www.flickr.com/photos/fordapa/3886403372/in/set-72157622110280353/

Page 20: Continuous Delivery

Build

DEV

Page 21: Continuous Delivery

Version Control

Build

DEV

Page 22: Continuous Delivery

Version Control

Build Build

DEV Continuous Integration

Page 23: Continuous Delivery

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

Page 24: Continuous Delivery

Test Automatisierung

http://www.flickr.com/photos/travelinlibrarian/160356388/

Page 25: Continuous Delivery

Unit Test Component Test Black Box

System Test

Small Medium Large

Page 26: Continuous Delivery

Unit Test Component Test Black Box

System Test

Small Medium Large

Page 27: Continuous Delivery

Anwendung System A

System B

DB

Page 28: Continuous Delivery

Large Test

Anwendung System A

System B

DB

Page 29: Continuous Delivery

Anwendung System A

System B Dummy

DB

Large Test

Page 30: Continuous Delivery

Anwendung System A

System B Dummy

DB

Large Test

Page 31: Continuous Delivery

Anwendung System A

System B Dummy

DB

Large Test

Page 32: Continuous Delivery

Version Control

Build Build

DEV Continuous Integration

Small Tests

Page 33: Continuous Delivery

Version Control

Build Build

DEV Continuous Integration

Small Tests

Medium Tests

Page 34: Continuous Delivery

Version Control

Build Build

DEV Continuous Integration

Small Tests

Medium Tests

Large Tests

Page 35: Continuous Delivery

Version Control

Build Build

DEV Continuous Integration

Small Tests

Medium Tests

Large Tests

Small Tests

Medium Tests

Large Tests

Page 36: Continuous Delivery

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

Page 37: Continuous Delivery

Deployment Automatisierung

http://www.flickr.com/photos/soldiersmediacenter/3650607959/

Page 38: Continuous Delivery

Snapshots

werden

NICHT

deployed !

Page 39: Continuous Delivery

Version Control

Build Build Release

DEV Continuous Integration

Small Tests

Medium Tests

Large Tests

Small Tests

Medium Tests

Large Tests

Artifact Repository

Page 40: Continuous Delivery

DB Delta Code Konfiguration

Was wird deployed?

Page 41: Continuous Delivery

Code

Deployment Package

Deployment Script

backup stop install start …

Page 42: Continuous Delivery

Code

Deployment Package

Deployment Script

backup stop install start …

Page 43: Continuous Delivery

Release

Continuous Integration

Artifact Repository

Ziel

Deployment Script

backup stop install start …

Page 44: Continuous Delivery

Konfiguration

Code Deployment Package

Configuration Server

File System

Umgebung Sicherheit Applikation Applikation

+

Umgebung

Page 45: Continuous Delivery

Code

Deployment Package

?

Environment Detection

Page 46: Continuous Delivery

Code

Environment Detection

Abnahme

Page 47: Continuous Delivery

Release

Continuous Integration

Artifact Repository

Ziel

Deployment Script

backup stop install start …

Page 48: Continuous Delivery

DB Delta

Code

Deployment Package

Page 49: Continuous Delivery

Code

Deployment Package

DB ?

?

Page 50: Continuous Delivery

http://code.google.com/p/flyway/

Page 51: Continuous Delivery

Release

Continuous Integration

Artifact Repository

Ziel

Deployment Script

backup stop install start …

Page 52: Continuous Delivery

Deployment Automatisierung

Schnelles Deployment ---> Schnelles Feedback Ein Deployment Package … … mit Code, Konfiguration und DB Delta … … vollautomatisiert deployen … … nach jedem grünen Build !

Page 53: Continuous Delivery

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 …

Page 54: Continuous Delivery

3 more things…

Page 55: Continuous Delivery

Registrierung

Briefversand

Page 56: Continuous Delivery

Registrierung

Briefversand

Page 57: Continuous Delivery

Registrierung v2

Briefversand

Paketversand

Page 58: Continuous Delivery

Registrierung

Briefversand

Branch by Abstraction

Paketversand

Page 59: Continuous Delivery

Registrierung

Briefversand

Branch by Abstraction

Paketversand

Page 60: Continuous Delivery

DB

Page 61: Continuous Delivery

DB Memcache

Page 62: Continuous Delivery

DB Memcache

Blue/Green Deployments

Page 63: Continuous Delivery

Code

Deployment Package

Page 64: Continuous Delivery

Zusammenfassung

Page 65: Continuous Delivery
Page 66: Continuous Delivery

• Team (a-team van)

Page 67: Continuous Delivery
Page 68: Continuous Delivery

ISBN-13: 978-0-321-60191-9

Page 69: Continuous Delivery

Danke ! Axel Fontaine Software Development Expert

twitter.com/axelfontaine www.axelfontaine.com [email protected]