#groovyprocess @jfrog
Web
• Codehaus provides WebDAV access
to push artifacts & documentation
• Listing / changing directory can take up to 30 seconds
• Uploading hundreds of JavaDoc files used to take 1+ hour
• Stale lock files
Slide 22
Slide 22 text
#groovyprocess @jfrog
Web
• Codehaus provides WebDAV access
to push artifacts & documentation
• Listing / changing directory can take up to 30 seconds
• Uploading hundreds of JavaDoc files used to take 1+ hour
• Stale lock files
When it
actually
works!
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
Launch a
release…
Slide 25
Slide 25 text
Launch a
release…
And then,
you pray!
Slide 26
Slide 26 text
No content
Slide 27
Slide 27 text
Same player
shoots again!
Slide 28
Slide 28 text
No content
Slide 29
Slide 29 text
What could
possibly go
wrong?
Slide 30
Slide 30 text
No content
Slide 31
Slide 31 text
A very
manual
process
Slide 32
Slide 32 text
No content
Slide 33
Slide 33 text
Build / release from a
developer’s machine
Slide 34
Slide 34 text
Build / release from a
developer’s machine
Local or
non-committed
changes
Slide 35
Slide 35 text
Build / release from a
developer’s machine
Local or
non-committed
changes
Relieance on
local repos
Slide 36
Slide 36 text
Build / release from a
developer’s machine
Local or
non-committed
changes
Relieance on
local repos
Manual tagging
Slide 37
Slide 37 text
Build / release from a
developer’s machine
Local or
non-committed
changes
Relieance on
local repos
Manual tagging
Manual update of
version information
in properties files
Slide 38
Slide 38 text
Build / release from a
developer’s machine
Local or
non-committed
changes
Relieance on
local repos
Manual tagging
Manual update of
version information
in properties files
Manual VCS
operations
Slide 39
Slide 39 text
No content
Slide 40
Slide 40 text
A release could
take a full day
Slide 41
Slide 41 text
A release could
take a full day
The best way to
learn patience
Slide 42
Slide 42 text
No content
Slide 43
Slide 43 text
Time to automate
things a bit!
Slide 44
Slide 44 text
@YourTwitterHandle
@YourTwitterHandle
#groovyprocess @jfrog
Now
Slide 45
Slide 45 text
No content
Slide 46
Slide 46 text
No content
Slide 47
Slide 47 text
Enters
JetBrains
TeamCity!
Slide 48
Slide 48 text
Enters
JetBrains
TeamCity!
On our own
server at
Slide 49
Slide 49 text
Enters
JetBrains
TeamCity!
On our own
server at
Build and test Groovy across:
— different branches
— different JDK versions (6, 7, 8, 9)
— different flavours (normal/indy)
— « joint builds »
Slide 50
Slide 50 text
Enters
JetBrains
TeamCity!
On our own
server at
Build and test Groovy across:
— different branches
— different JDK versions (6, 7, 8, 9)
— different flavours (normal/indy)
— « joint builds »
Builds Pull
Requests too
Slide 51
Slide 51 text
No content
Slide 52
Slide 52 text
New website built
with Gradle and
Groovy templates
Slide 53
Slide 53 text
New website built
with Gradle and
Groovy templates
Slide 54
Slide 54 text
New website built
with Gradle and
Groovy templates
Built by Gradle
with Asciidoctor
Slide 55
Slide 55 text
New website built
with Gradle and
Groovy templates
Built by Gradle
with Asciidoctor
All code samples
are tested!
Slide 56
Slide 56 text
No content
Slide 57
Slide 57 text
And so,
it was cool!
Slide 58
Slide 58 text
No content
Slide 59
Slide 59 text
No content
Slide 60
Slide 60 text
Snapshots pushed
on commits
Slide 61
Slide 61 text
Snapshots pushed
on commits
Releases signed & deployed
on Bintray JCenter
Slide 62
Slide 62 text
Snapshots pushed
on commits
Releases signed & deployed
on Bintray JCenter
Synced with Maven Central
Slide 63
Slide 63 text
Snapshots pushed
on commits
Releases signed & deployed
on Bintray JCenter
Synced with Maven Central
Website & docs uploaded
Slide 64
Slide 64 text
No content
Slide 65
Slide 65 text
« One-click »
releases!
Slide 66
Slide 66 text
« One-click »
releases!
Just need to fill
a form with
version details
Slide 67
Slide 67 text
« One-click »
releases!
Just need to fill
a form with
version details
TeamCity
Artifactory
plugin