JavaOne 2015: Scalable Continous Deployment with Maven
-
Upload
abraham-marin-perez -
Category
Software
-
view
361 -
download
2
Transcript of JavaOne 2015: Scalable Continous Deployment with Maven
![Page 1: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/1.jpg)
Scalable Continuous Deployment with Maven
fromfragiletoagile.com@AbrahamMarin
![Page 2: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/2.jpg)
@AbrahamMarin
![Page 3: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/3.jpg)
About Me
@AbrahamMarin
![Page 4: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/4.jpg)
About Me
@AbrahamMarin
![Page 5: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/5.jpg)
About Me
@AbrahamMarin
![Page 6: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/6.jpg)
Table of Contents
• Continuous Deployment with Maven• Scaling Continuous Deployment• Analyse Data from the CI System• Automate Analysis and Visualisation
@AbrahamMarin
![Page 7: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/7.jpg)
Table of Contents
• Continuous Deployment with Maven• Scaling Continuous Deployment• Analyse Data from the CI System• Automate Analysis and Visualisation
@AbrahamMarin
![Page 8: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/8.jpg)
What is Continuous Deployment?
Continuous Integration: check everything is still working after every commit•• Continuous Deployment: every successful
commit turns into a release•
@AbrahamMarin
![Page 9: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/9.jpg)
Why maven?
• Just because…
@AbrahamMarin
![Page 10: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/10.jpg)
Other technologies
@AbrahamMarin
![Page 11: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/11.jpg)
To Caesar what is Caesar’s
Based on John Ferguson Smart’s“Real-World Strategies for Continuous Delivery with maven and Jenkins”
http://youtu.be/McTZtyb9M38
@AbrahamMarin
![Page 12: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/12.jpg)
John’s approach
Maven wasn’t built for Continuous Deployment
commitcommitcommit...
0.0.1-SNAPSHOT
Release!
0.0.1
@AbrahamMarin
![Page 13: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/13.jpg)
John’s approach
Don’t use RELEASE pluginUse VERSIONS plugin
Set version to <version scheme>.<build number>Run mvn deployCommit pom file to repository
@AbrahamMarin
![Page 14: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/14.jpg)
John’s approachSet version to <version scheme>.<build number>
mvn versions:set –DnewVersion=**your version**
@AbrahamMarin
![Page 15: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/15.jpg)
John’s approachRun mvn deploy
mvn clean deploy
@AbrahamMarin
![Page 16: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/16.jpg)
John’s approachCommit pom file to repository
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-scm-plugin</artifactId><version>1.9.1</version><executions><execution><id>commit</id><phase>deploy</phase><goals>
<goal>checkin</goal></goals>
</execution></executions></plugin>
@AbrahamMarin
![Page 17: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/17.jpg)
John’s approach
@AbrahamMarin
![Page 18: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/18.jpg)
John’s approach
0.0.1.1commit
BUILD!
0.0.1.2commit
BUILD!
0.0.1.3commit
BUILD!
@AbrahamMarin
![Page 19: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/19.jpg)
Table of Contents
• Continuous Deployment with Maven• Scaling Continuous Deployment• Analyse Data from the CI System• Automate Analysis and Visualisation
@AbrahamMarin
![Page 20: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/20.jpg)
How do you scale this?
@AbrahamMarin
![Page 21: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/21.jpg)
SUPER APP
# Files: 75# Tests: 800Build Time: 4 minOutput: superapp.war
@AbrahamMarin
![Page 22: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/22.jpg)
SUPER APP
# Files: 113# Tests: 1200Build Time: 6 minOutput: superapp.war
@AbrahamMarin
![Page 23: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/23.jpg)
SUPER APP
# Files: 169# Tests: 1800Build Time: 9 minOutput: superapp.war
@AbrahamMarin
![Page 24: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/24.jpg)
When Builds Get Too Big
@AbrahamMarin
"MAN Atlante fronte 1040572" by Lalupa - Own work. Licensed under GFDL via Commons - https://commons.wikimedia.org/wiki/File:MAN_Atlante_fronte_1040572.JPG#/media/File:MAN_Atlante_fronte_1040572.JPG
![Page 25: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/25.jpg)
SUPER APP
# Files: 169# Tests: 1800Build Time: 9 minOutput: superapp.war
APP BACKEND
SUPER APP
# Files: 115# Tests: 1200Build Time: 6 minOutput: superapp.war
# Files: 72# Tests: 800Build Time: 4 minOutput: appbackend.jar
@AbrahamMarin
![Page 26: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/26.jpg)
<dependency><groupId>com.superappfactory</groupId><artifactId>appbackend</artifactId><version>??????</version></dependency>
<dependency><groupId>com.superappfactory</groupId><artifactId>appbackend</artifactId><version>LATEST</version></dependency>
Setting up dependencies
APP BACKEND
SUPER APP
appbackend.jar superapp.war
@AbrahamMarin
![Page 27: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/27.jpg)
@AbrahamMarin
![Page 28: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/28.jpg)
@AbrahamMarin
![Page 29: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/29.jpg)
@AbrahamMarin
![Page 30: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/30.jpg)
Setting up dependencies
APP BACKEND
SUPER APP
appbackend.jar superapp.war
@AbrahamMarin
![Page 31: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/31.jpg)
Rebuilding old versions
@AbrahamMarin
![Page 32: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/32.jpg)
Rebuilding old versions
Using “LATEST” makes it impossible to build old versions correctly
@AbrahamMarin
![Page 33: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/33.jpg)
<dependency><groupId>com.superappfactory</groupId><artifactId>appbackend</artifactId><version>???????</version></dependency>
<dependency><groupId>com.superappfactory</groupId><artifactId>appbackend</artifactId><version>1.5.3.1</version></dependency>
Rebuilding old versions
APP BACKEND
SUPER APP
appbackend.jar superapp.war
@AbrahamMarin
![Page 34: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/34.jpg)
Update versions of dependenciesmvn versions:use-latest-releases
@AbrahamMarin
![Page 35: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/35.jpg)
APP BACKEND
SUPER APP
APP BACKEND
SUPER APP
DATA MODEL
SUPER APP
DATA MODEL
GUI
APP BACKEND
![Page 36: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/36.jpg)
Like it?
@AbrahamMarin
![Page 37: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/37.jpg)
Like it?
@AbrahamMarin
![Page 38: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/38.jpg)
Like it?
@AbrahamMarin
![Page 39: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/39.jpg)
Like it?
@AbrahamMarin
![Page 40: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/40.jpg)
Like it?
@AbrahamMarin
![Page 41: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/41.jpg)
@AbrahamMarin
http://thechive.com/2014/02/26/youre-doing-it-wrong-31-photos-2/
![Page 42: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/42.jpg)
I Can Help
@AbrahamMarin
![Page 43: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/43.jpg)
Problem: Infinite Trigger
commitbuild
deploy
commit
@AbrahamMarin
![Page 44: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/44.jpg)
@AbrahamMarin
![Page 45: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/45.jpg)
@AbrahamMarin
![Page 46: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/46.jpg)
Problem: Unnecessary rebuilds
APP BACKEND
SUPER APP
commit
@AbrahamMarin
![Page 47: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/47.jpg)
@AbrahamMarin
![Page 48: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/48.jpg)
Problem: Unnecessary rebuilds
@AbrahamMarin
![Page 49: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/49.jpg)
Problem: Unnecessary rebuilds
Get last committer
buildAgent?
Proceed normally
Don’t run build
NO YES
touch skip_build
@AbrahamMarin
![Page 50: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/50.jpg)
Problem: Unnecessary rebuilds<profiles><!-- Plugins that need to be disabled when doing a no-run --><profile><id>do.nothing</id><activation><file>
<exists>skip_build</exists></file></activation>
<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration>
<skipMain>true</skipMain><skip>true</skip>
</configuration></plugin>
@AbrahamMarin
![Page 51: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/51.jpg)
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-install-plugin</artifactId><version>2.5.2</version><configuration>
<skip>true</skip></configuration></plugin>
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-deploy-plugin</artifactId><version>2.8.2</version><configuration>
<skip>true</skip></configuration></plugin>
Problem: Unnecessary rebuilds
@AbrahamMarin
![Page 52: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/52.jpg)
Problem: Unnecessary rebuilds
APP BACKEND
SUPER APP
commit
@AbrahamMarin
![Page 53: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/53.jpg)
Problem: Unnecessary rebuilds
@AbrahamMarin
![Page 54: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/54.jpg)
Problem: Necessary rebuilds
APP BACKEND
SUPER APP
commit
@AbrahamMarin
![Page 55: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/55.jpg)
Get last committer
buildAgent?
Proceed normally
Don’t run build
NO YES
Problem: Necessary rebuilds
@AbrahamMarin
![Page 56: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/56.jpg)
@AbrahamMarin
![Page 57: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/57.jpg)
Get last committer
buildAgent?
Proceed normally
NO YES
Check dependencies
Up to date?
NO Don’t run build
YES
touch skip_build
@AbrahamMarin
![Page 58: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/58.jpg)
Problem: Necessary rebuilds
@AbrahamMarin
![Page 59: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/59.jpg)
Problem: Doomed Build
build
deploy
commit
commit
commitpom.xml
@AbrahamMarin
![Page 60: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/60.jpg)
Get last committer
buildAgent?
Proceed normally
NO YES
Check dependencies
Up to date?
NO Don’t run build
YES
touch skip_build
@AbrahamMarin
![Page 61: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/61.jpg)
Get last committer
buildAgent?
Check pom.xml
NO YES
Check dependencies
Up to date?
NO
Don’t run build
YES
touch skip_build
Up to date?
NO
Proceed normally
YES
@AbrahamMarin
![Page 62: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/62.jpg)
Problem: Doomed Build
@AbrahamMarin
![Page 63: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/63.jpg)
@AbrahamMarin
![Page 64: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/64.jpg)
Table of Contents
• Continuous Deployment with Maven• Scaling Continuous Deployment• Analyse Data from the CI System• Automate Analysis and Visualisation
@AbrahamMarin
![Page 65: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/65.jpg)
A real case scenario
@AbrahamMarin
![Page 66: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/66.jpg)
WAR file
WAR file
WAR file
Parent POM
Logging@AbrahamMarin
![Page 67: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/67.jpg)
WAR file
WAR file
WAR file
Parent POM
Logging
28%
@AbrahamMarin
![Page 68: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/68.jpg)
WAR file
WAR file
WAR file
Parent POM
Logging
28%
28%
28%
@AbrahamMarin
![Page 69: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/69.jpg)
WAR file
WAR file
WAR file
Parent POM
Logging
28%
28%
28%
20%
@AbrahamMarin
![Page 70: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/70.jpg)
WAR file
WAR file
WAR file
Parent POM
Logging
48%
28%
28%
20%
@AbrahamMarin
![Page 71: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/71.jpg)
WAR file
WAR file
WAR file
Parent POM
Logging@AbrahamMarin
![Page 72: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/72.jpg)
WAR file
WAR file
WAR file
@AbrahamMarin
![Page 73: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/73.jpg)
Build-Driven Architecture
@AbrahamMarin
![Page 74: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/74.jpg)
Table of Contents
• Continuous Deployment with Maven• Scaling Continuous Deployment• Analyse Data from the CI System• Automate Analysis and Visualisation
@AbrahamMarin
![Page 75: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/75.jpg)
WAR file
WAR file
WAR file
@AbrahamMarin
![Page 76: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/76.jpg)
Manual processingtakes time...
@AbrahamMarin
![Page 77: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/77.jpg)
Automating Build Analysis
• Most CI systems provide an API• Calculations aren’t complex• Multiple graphical tools available
@AbrahamMarin
![Page 78: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/78.jpg)
Build Hotspots
github.com/quiram/build-hotspots
@AbrahamMarin
![Page 79: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/79.jpg)
Automating Build Analysis
• Add colour and size• Add support for other CI systems• Show subset of builds• Update data automatically (for build displays)• Anything else you may find useful!
@AbrahamMarin
![Page 80: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/80.jpg)
Summary
• Setting up Continuous Deployment is possible• Scaling is challenging, but also possible• Build data can help you shape the architecture
of your application• Still plenty to improve, please join me
@AbrahamMarin
![Page 81: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/81.jpg)
Questions?
@AbrahamMarin
![Page 82: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/82.jpg)
fromfragiletoagile.com@AbrahamMarin
Thank You!
![Page 83: JavaOne 2015: Scalable Continous Deployment with Maven](https://reader033.fdocuments.net/reader033/viewer/2022051521/587b72591a28abc62f8b5b49/html5/thumbnails/83.jpg)