continuous delivery - jugs2011/04/07  · version control build build dev continuous integration...

Post on 23-Aug-2020

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Continuous Delivery für Java Anwendungen

Axel Fontaine Software Development Expert

07.04.2011

twitter.com/axelfontaine www.axelfontaine.com business@axelfontaine.com

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 business@axelfontaine.com

top related