@tarkasteve #practicalcd
Practical Continuous Deployment
Steve Smith @tarkasteve #practicalcd
https://developer.atlassian.com/blog https://haltcondition.net
go.atlassian.com/devoxxuk15
@tarkasteve Continuous Deployment
@tarkasteve
STEVE SMITH • DEVOPS ADVOCATE • ATLASSIAN • @TARKASTEVE
@tarkasteve What I’ve been up to
@tarkasteve
Continuous?
@tarkasteve
Continuous Integration
@tarkasteve
Continuous Delivery
@tarkasteve
Continuous Deployment
@tarkasteve
It’s all about Quality
@tarkasteve
WhyLeo Reynolds / Flickr
@tarkasteve
Release features, not dumps
@tarkasteve
Automation
@tarkasteve
Remove bottlenecks
@tarkasteve
Stakeholders
yozakz / deviantart
@tarkasteve
Users
@tarkasteve
Managers
@tarkasteve
Developers
@tarkasteve
Admins
@tarkasteve
BRANCH
Development workflow
CONTINUALLY TEST
PULL REQUEST
DEPLOY (STAGING)
PROMOTE
BRANCH
TRACK REQUESTS
@tarkasteve
Track your requests
JIRA123
@tarkasteve
stable master branch
master
Work on a branch
isolated feature work
feature/JIRA-123
@tarkasteve
Continuously test
stable master branch
master
isolated feature work
feature/JIRA-123
@tarkasteve
Pull Request
feature/JIRA-123
master
technical debt
O(n!) algorithm
bad API decision
human judgement needed
?
@tarkasteve
Merge and Release (staging)
feature/JIRA-123
master
?
@tarkasteve
Promote to production
@tarkasteve Last Mile
@tarkasteve
Orchestration Agents
MCollective
Common Agents
@tarkasteve
SSH Automation
Fabric
SSH Automation
@tarkasteve
Our Solution
Deploy
Server
@tarkasteve
Continuous Downtime?
North Lanarkshire Council
@tarkasteve
Management
@tarkasteve
Deployment Environments
@tarkasteve
Deployment Environments
@tarkasteve
Deployment Environments
@tarkasteve
Ticket-based management
@tarkasteve
Ticket-based management
@tarkasteve
Ticket-based management
@tarkasteve
Key PointsCLEAR MOTIVATION
COOPERATIVE TOOLS AND PEOPLE
BRANCHING WORKFLOW
@tarkasteve Summary
@YourTwitterHandle#DVXFR14{session hashtag}@tarkasteve #practicalcd
Q & A
go.atlassian.com/devoxxuk15
https://developer.atlassian.com/blogs/