javacro'14 - amphinicy crown jewels our software development infrastructure – tin tvrtković
Post on 22-Jun-2015
1.309 Views
Preview:
DESCRIPTION
TRANSCRIPT
Amphinicy Crown
Jewels
Tin Tvrtković
13.5.2014.
@tintvrtkovic
Motivation and Focus
?
?
?
??
?
?
?
?
class HelloWorldApp {public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.System.out.println("Hello World!"); // Display the string.}
}
Build Automation Tool
Build Automation Tool
The dark ages:
– IDE based– IDE based
Build Automation Tool
The dark ages:
– IDE based– IDE based
The middle ages:
– Ant and Ivy
The dark ages:
– IDE based
Build Automation Tool
– IDE based
The middle ages:
– Ant and Ivy
Modernity:
– Maven
?
?
??
?
?
?
?
Code Repository
Code Repository
The dark ages:
– network disk based– network disk based
Code Repository
The dark ages:
– network disk based– network disk based
The middle ages:
– CVS, Subversion
Code Repository
The dark ages:
– network disk based– network disk based
The middle ages:
– CVS, Subversion
Modernity:
– git
Code Repository
The dark ages:
– network disk based– network disk based
The middle ages:
– CVS, Subversion
Modernity:
– git Mercurial
??
?
?
?
?
?
Continuous Integration
Continuous Integration
The dark ages:
– nothing
Continuous Integration
The dark ages:
– nothing
The middle ages:
– Luntbuild
Continuous Integration
The dark ages:
– nothing
The middle ages:
– Luntbuild
Modernity:
– Jenkins
?
?
?
?
?
Artifact Repositories
Artifact Repositories
The dark ages:
– nothing
Artifact Repositories
The dark ages:
– nothing
The middle ages:
– Nexus
Artifact Repositories
The dark ages:
– nothing
The middle ages:
– Nexus
Modernity:
– Nexus, Nopar, Bower-cache
Nopar Bower Cache DevPI?
??
?
Static Analysis
Static Analysis
The dark ages:
– manual checks
The middle ages:
– manual checks
Static Analysis
The dark ages:
– manual checks
The middle ages:
– manual checks
Modernity:
– Sonar
?
?
Integration Testing
Integration Testing
The dark ages:
– none / manual
The middle ages:
– none / manual
Integration Testing
The dark ages:
– none / manual
The middle ages:
– none / manual
Modernity:
– Groovy, Ansible
?
Code Review
Code Review
The dark ages:
– informal, senior to junior
The middle ages:
– informal, senior to junior
Code Review
The dark ages:
– informal, senior to junior
The middle ages:
– informal, senior to junior
Modernity:
– Review Board
Code Review
The dark ages:
– informal, senior to junior
The middle ages:
– informal, senior to junior
Modernity:
– Review Board cards
code
review?
Plans for the Future
• Heterogeneous build • Heterogeneous build
system
• Maven to Gradle?
• Code review story
• VM provisioning
Thank you for your attention!
Q&A Session
top related