agilität, snapshots und continuous delivery

28
12.11.13 Agilität, Snapshots und Continuous Delivery Dr. Halil-Cem Gürsoy Tw @hgutwit G+ https://plus.google.com/+HalilCemGürsoy

Upload: adesso-ag

Post on 29-Nov-2014

1.172 views

Category:

Technology


0 download

DESCRIPTION

Präsentation von der Continuous Lifecycle 2013 von Dr. Halil-Cem Gürsoy.

TRANSCRIPT

Page 1: Agilität, Snapshots und Continuous Delivery

12.11.13

Agilität, Snapshots und Continuous Delivery

Dr. Halil-Cem Gürsoy Tw @hgutwit G+ https://plus.google.com/+HalilCemGürsoy

Page 2: Agilität, Snapshots und Continuous Delivery

Der Referent

Über 10 Jahre Software-Entwicklung

„Software Architect“ @ adesso AG

Verteilte, skalierbare Systeme

Continuous Delivery

Artikel und Konferenzen

12.11.13 Agilität, Snapshots und Continuous Delivery

Page 3: Agilität, Snapshots und Continuous Delivery

12.11.13 Agilität, Snapshots und Continuous Delivery http://www.flickr.com/photos/enor/517787281/

Page 4: Agilität, Snapshots und Continuous Delivery

12.11.13 Agilität, Snapshots und Continuous Delivery http://www.flickr.com/photos/lizandcormac/372399658/

Page 5: Agilität, Snapshots und Continuous Delivery

Scrum

12.11.13 Agilität, Snapshots und Continuous Delivery

Quelle: scrumalliance.org

Page 6: Agilität, Snapshots und Continuous Delivery

„Our highest priority is to satisfy the

customer through early and

continuous delivery of valuable

software.“ http://agilemanifesto.org/principles.html

12.11.13 Agilität, Snapshots und Continuous Delivery

Page 7: Agilität, Snapshots und Continuous Delivery

„Our highest priority is to satisfy the

customer through early and

continuous delivery of valuable

software.“ http://agilemanifesto.org/principles.html

12.11.13 Agilität, Snapshots und Continuous Delivery

Page 8: Agilität, Snapshots und Continuous Delivery

Warum SNAPSHOT‘s?

Entwickler-Version

Stabile Versionen erkennen

Releases sind aufwendig

Interaktion zwischen Teams

12.11.13 Agilität, Snapshots und Continuous Delivery

Page 9: Agilität, Snapshots und Continuous Delivery

Auswirkungen

Release-Vorbereitungen

Merge Feature Branches („Done“)

Integration von Release-Modulen

Release-Management

Dokumentation

12.11.13 Agilität, Snapshots und Continuous Delivery

Page 10: Agilität, Snapshots und Continuous Delivery

Das Maven-Modell „Super-Simplified“

12.11.13 Agilität, Snapshots und Continuous Delivery

Build SNAPSHOT Test

Build RELEASE Deliver / Go Live

Page 11: Agilität, Snapshots und Continuous Delivery

SNAPSHOT != Releasable

12.11.13 Agilität, Snapshots und Continuous Delivery

Page 12: Agilität, Snapshots und Continuous Delivery

Der Release „The Maven Release Plugin Way“ (tm)

Alles in SCM? SNAPSHOT-Abhängigkeiten? Compile & Test

Ändere POM auf neue Release-Version SCM-Info in POM anpassen

Compile & Test Commit in SCM

SCM Tag Ändere POM auf neue –SNAPSHOT Version

Commit in SCM Compile & Test

12.11.13 Agilität, Snapshots und Continuous Delivery

Page 13: Agilität, Snapshots und Continuous Delivery

„The Maven Release Plugin Way“ (tm)

3 x Clean & Compile & Test

2 x POM Transformation

2 x SCM Commit

3 SCM Revisionen

12.11.13 Agilität, Snapshots und Continuous Delivery

Page 14: Agilität, Snapshots und Continuous Delivery

„Mavenized“ Build-Pipeline

12.11.13 Agilität, Snapshots und Continuous Delivery

Continuous Build

Deploy artifacts

Inspect Build

Release Build

Prepare artifacts

Deploy artifacts

Production

Page 15: Agilität, Snapshots und Continuous Delivery

12.11.13 Agilität, Snapshots und Continuous Delivery http://www.flickr.com/photos/myklroventine/3400039653/

Page 16: Agilität, Snapshots und Continuous Delivery

12.11.13 Agilität, Snapshots und Continuous Delivery

Lösung?

Page 17: Agilität, Snapshots und Continuous Delivery

CD Build-Pipeline

12.11.13 Agilität, Snapshots und Continuous Delivery

Developer Build

Developer Test

Candidate Build

Prepare artifacts

Deploy artifacts

Production Promote artifacts

Page 18: Agilität, Snapshots und Continuous Delivery

Jason van Zyl

„Unfortunately, but naturally, users tend

to think that the release plugin

embodies all best practices for Maven

with respect to releases, but in practice

many people accept it's flaws.“ http://www.lucasward.net/2010/11/maven-and-continuous-delivery.html?showComment=1289373353091#c7316536994911982893

12.11.13 Agilität, Snapshots und Continuous Delivery

Page 19: Agilität, Snapshots und Continuous Delivery

Lösungen

CD-Pipeline =

immer RELASE-Versionen!

1.1.0-2652-245

12.11.13 Agilität, Snapshots und Continuous Delivery

Page 20: Agilität, Snapshots und Continuous Delivery

Lösungen

CD-Pipeline =

immer RELASE-Versionen!

1.1.0-2652-245

12.11.13 Agilität, Snapshots und Continuous Delivery

SCM Revision

Page 21: Agilität, Snapshots und Continuous Delivery

Lösungen

CD-Pipeline =

immer RELASE-Versionen!

1.1.0-2652-245

12.11.13 Agilität, Snapshots und Continuous Delivery

Build Number

Page 22: Agilität, Snapshots und Continuous Delivery

Lösung

Codehaus Versions Plugin

mvn versions:set –DnewVersion=$NEWVER

Codehaus Build Helper Plugin <goals> <goal>parse-version</goal> </goals>

12.11.13 Agilität, Snapshots und Continuous Delivery

Page 23: Agilität, Snapshots und Continuous Delivery

Lösung

Codehaus Versions Plugin

12.11.13 Agilität, Snapshots und Continuous Delivery

<execution> <id>setnewversion</id> <phase>validate</phase> <goals> <goal>set</goal> </goals> <configuration> <generateBackupPoms>false</generateBackupPoms> <newVersion>${parsedVersion.majorVersion}.

${parsedVersion.minorVersion}.${parsedVersion. incrementalVersion}-${NEWVER} </newVersion>

</configuration> </execution>

Page 24: Agilität, Snapshots und Continuous Delivery

Promote

„Promote“ Artefakte

Release vs Staging

Repository

12.11.13 Agilität, Snapshots und Continuous Delivery http://www.flickr.com/photos/mac_filko/5491781178/

Page 25: Agilität, Snapshots und Continuous Delivery

Housekeeping

Staging-Repositories Artifactory Pro

Nexus Professional Apache Archiva (manuell)

Maven/Jenkins Plugin‘s REST-Schnittstellen

12.11.13 Agilität, Snapshots und Continuous Delivery

Page 26: Agilität, Snapshots und Continuous Delivery

Nach-“Lese“ Maven Mailing List http://maven.40175.n5.nabble.com/Continuous-Delivery-and-Maven-td3245370.html

Lucas Ward - Maven and Continuous Delivery http://www.lucasward.net/2010/11/maven-and-continuous-delivery.html

Kief Morris - The Conflict Between Continuous Delivery and

Traditional Agile http://kief.com/the-conflict-between-continuous-delivery-and-traditional-agile.html

Axel Fontaine – The Final Nail in the Coffin http://axelfontaine.com/blog/final-nail.html

12.11.13 Agilität, Snapshots und Continuous Delivery

Page 27: Agilität, Snapshots und Continuous Delivery

12.11.13 Agilität, Snapshots und Continuous Delivery http://www.flickr.com/photos/an_untrained_eye/6630719431/

Page 28: Agilität, Snapshots und Continuous Delivery

Vielen Dank für Ihre Aufmerksamkeit.

www.adesso.de [email protected]