import continuous.delivery.*
DESCRIPTION
Organizing continuous delivery pipeline with Jenkins, Artifactory & LiveRebelTRANSCRIPT
import continuous.delivery.*Anton Arhipov
@antonarhipov
Product LeadZeroTurnaround
Monday, November 19, 12
INDIVIDUALS and INTERACTIONS
over
Agenda
PROCESSES and TOOLS,blah, blah, blah ...
Agile Manifesto says:
Monday, November 19, 12
Agenda
PROCESSES and TOOLS
Monday, November 19, 12
Fedex process
• Package
• Dropoff
• Transfer
• Delivery
• Profit!
Monday, November 19, 12
• Package
• Test
• Approve
• Deploy
• Profit!
Java EE
Monday, November 19, 12
• What exactly is in prod now?
• How did it get deployed?
• How did it get there?
• Where did it come from?
• How did you package the application?
Questions?
Monday, November 19, 12
Fedex FAIL
Monday, November 19, 12
Software FAIL
Monday, November 19, 12
Monday, November 19, 12
Continuous DeliveryPipeline
Monday, November 19, 12
A pipeline?
Source: http://startupblog.files.wordpress.com/2008/09/pipeline1.jpg
Monday, November 19, 12
Continuous Delivery pipeline!
Source: http://studentthinktank.eu/wp-content/uploads/2012/02/03_TURKMEN-PIPELINE.jpg
Monday, November 19, 12
• Automate
• Record
• Test
• Recover
Philosophy
Monday, November 19, 12
• Orchestration Platform
• Delivery Manager
• Artifact Repository
The Pipeline
Monday, November 19, 12
Jenkins(OSS Continuous Integration Server)
Monday, November 19, 12
Orchestration platform
Monday, November 19, 12
LiveRebel(Commercial Delivery Manager)
Monday, November 19, 12
• Deploy/Undeploy
• Update
• No downtime
• No lost sessions
• Plain old restarts
• Environment/deployment status
What can you do with LiveRebel?
Monday, November 19, 12
• No good OSS alternative
• Supports many app servers
• No downtime updates
• Integrates with OSS projects
Why LiveRebel?
Monday, November 19, 12
And we freakin’built it!
Monday, November 19, 12
Artifactory(OSS/Commercial Artifact Repository)
Monday, November 19, 12
• FTP
• Jenkins
• Nexus (and the like)
Alternatives
Monday, November 19, 12
Monday, November 19, 12
Now let’s build a pipeline!
Monday, November 19, 12
The Pipeline / The Repos
Monday, November 19, 12
TestBuildRepository
Pipeline Build Test
QA
QA Dist
Deployment Test
RC
GO!
ProdStaging
Monday, November 19, 12
The tools in the pipeline
Monday, November 19, 12
Pipeline phases
Monday, November 19, 12
Build phase
Monday, November 19, 12
Test phase
Monday, November 19, 12
QA phase
Monday, November 19, 12
Production phase
Monday, November 19, 12
Dirty details in Jenkins
Monday, November 19, 12
• Database
• Configuration & Environment
• Tests & Monitoring
Themes Not Covered
Monday, November 19, 12
• How do you package the application?
• Where did it come from?
• Where does it go?
• How does it get deployed?
• What exactly is in prod now?
Questions?
Monday, November 19, 12
The answers are
in the pipeline!
Monday, November 19, 12
• Jenkins jobs represent the workflow
• Artifactory is a sync-point
• LiveRebel manages apps and versions
• Manual flows with REST
• Tracking with scripts & text files
Pipeline Summary
Monday, November 19, 12
Not bad, but what about the process??Monday, November 19, 12
Monday, November 19, 12
Traditional Process
Developer
Release Engineer SysOp
QA
Monday, November 19, 12
Powered by CD
Developer
CD Engineer SysOp
QA
Manager
Monday, November 19, 12
What’s changed?
Monday, November 19, 12
What’s changed?
• Increased significance of automated QA
Monday, November 19, 12
What’s changed?
• Increased significance of automated QA
• Reduced manual testing
Monday, November 19, 12
What’s changed?
• Increased significance of automated QA
• Reduced manual testing
• Infrastructure roles NOT involved with release
Monday, November 19, 12
What’s changed?
• Increased significance of automated QA
• Reduced manual testing
• Infrastructure roles NOT involved with release
• Release approval is a business decision
Monday, November 19, 12
What’s changed?
• Increased significance of automated QA
• Reduced manual testing
• Infrastructure roles NOT involved with release
• Release approval is a business decision
• Automation is the key
Too good to be true, eh?
Monday, November 19, 12
Q & A
@antonarhipov
Monday, November 19, 12