a n i n t r o t o c o n t i n u o u s d e l i v e r y
LET’S RELEASE IT
Rouan Wilsenach @rouanw
thoughtworks.com
THE LAST MILEDoes this look familiar?
2
Analysis & Design
Development
Test & Showcase
Release & Operations
‘Agile’ team
Centralised QA IT Operations
Integration & QA
Customer
The ‘last mile’Iteration 0 - 1 - 2 - 3 - n
3
4
Test & Showcase
Delivery team
Customer
Constant flow of new features into production
PRINCIPLES OF CD
5
6
Decouple release from deployment
7
Done means released
8
Small releases
9
Build quality in
10
If it hurts, do it more often
11
Automate everything
BENEFITS OF CD
12
13
Clarity
14
Confidence
15
Less stress
SHOW ME HOWBlah blah blah. How do we actually do this?
16
AUTOMATE EVERYTHINGThe machinery to put code in production. All the time.
17
18
Automated testing
19
Production-like environments
20
Automated deployments
21
Automated infrastructure
BUILD PIPELINEThe production gauntlet
22
23
24
Trigger the pipe on every change
25
Fast feedback
26
Build artefact
27
The go button
TRUNK BASED DEVELOPMENTHow to code when everything is in production
28
29
Put everyone’s changes together all the time
30
Small changes
31
User stories
32
Keep out of reach of users
33
Feature toggles
34
Toggling tips
not too many short lived talk about them
35
Branch by abstraction
WHAT GOES INThe other side of the pipe
36
37
Release decisions
38
Use feedback
39
Measure cycle time
RECAPOnce more with feeling
40
41
The last mile
Principles of CDBenefits
automate everything
build pipelinetrunk based dev
what goes in
How?
SOME RESOURCES
Continuous Integration:
• www.martinfowler.com/articles/continuousIntegration.html
• http://martinfowler.com/bliki/FeatureBranch.html
Trunk based development:
• http://martinfowler.com/bliki/FeatureToggle.html
• http://martinfowler.com/bliki/BranchByAbstraction.html
• http://continuousdelivery.com/wp-content/uploads/2011/05/branch_by_abstraction.png
Continuous Delivery
• http://www.thoughtworks.com/continuous-delivery
• http://martinfowler.com/bliki/ContinuousDelivery.html
• http://go.cd
42
SOME RESOURCES
Jez Humble (@jezhumble)
• continuousdelivery.com
• CD Book: http://martinfowler.com/books/continuousDelivery.html
• Video on adopting CD: http://www.infoq.com/presentations/Adopting-Continuous-Delivery
43
a n i n t r o t o c o n t i n u o u s d e l i v e r y
LET’S RELEASE IT
Rouan Wilsenach @rouanw
thoughtworks.com