Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Continuous Integration & Delivery
Search
David Wood
November 03, 2014
Programming
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Continuous Integration & Delivery
Talk given at Tech Nottingham 2014-11 and DotNetSheff 2015-06.
David Wood
November 03, 2014
More Decks by David Wood
See All by David Wood
Continuous Integration & Delivery with Notes
codesleuth
0
43
Other Decks in Programming
See All in Programming
Railsバージョンを4倍にした話
optim
0
430
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
430
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
550
contenteditable と日本語入力に向き合う
colorful12
0
200
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.5k
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
190
Next.js: The final boss of Web Performance
guaca
0
260
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
610
Jetpack Compose Mechanisms
skydoves
3
820
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
2
350
Featured
See All Featured
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
A Soul's Torment
seathinner
8
3.8k
Typedesign – Prime Four
hannesfritz
42
3.2k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
580
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
The browser strikes back
jonoalderson
0
1.8k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
Transcript
Continuous Delivery as a Service (and Continuous Integration)
Hi!
None
Topics Continuous Integration What? Why? How? Continuous Delivery
Continuous Integration What is it?
Continuous Integration The practice of integrating code into a shared
repository several times a day
Continuous Integration Why do it?
CI: Why? Reduces long and complex merges, also known as
“integration Hell”
CI: Why? Increases visibility
CI: Why? Catch issues early
CI: Why? Spend more time adding features and less time
fixing bugs
CI: Why? Reduce time waiting for feedback
CI: Why? Increase overall confidence
CI: Why? Summary Reduce long & complex integrations Increase visibility
Catch issues early Spend more time adding features, less bug fixing Reduce time waiting for feedback Increase confidence
Continuous Integration How is it done?
CI: How? Merge Build Test
CI: How? Merge Integrate several times a day
CI: How? Merge Build Test
CI: How? Build Automate the build process
CI: How? Build Build every commit on an integration machine
CI: How? Build Build quickly
xkcd.com/303
CI: How? Build Make the build status visible to everybody
None
CI: How? Merge Build Test
CI: How? Test “With testing, I know straight away when
I added a bug. That lets me fix the bug immediately, before it can crawl off and hide.” - Martin Fowler
CI: How? Test Automate tests
CI: How? Test “...maintaining good regression tests is the key
to refactoring with confidence.” - Andrew Hunt
CI: How? Test Test on a like-live environment
CI: How? Test Make the test status and results visible
to everybody
CI: How? Test Archive build artefacts and test results in
a shared space
CI: How? Test User acceptance test (UAT) and capacity test
last
CI: How? Merge, Build, Test Be responsible
CI: How? Be Responsible Merge frequently
CI: How? Be Responsible Don’t commit a broken build
CI: How? Be Responsible Don’t commit failing tests
CI: How? Be Responsible Don’t “push and run”
CI: How? Summary Merge Merge several times a day Build
Automate builds Build every commit on an integration machine Build quickly Keep builds status visible
CI: How? Summary Test Automate tests Test on a like-live
environment Keep test results visible Archive build artefacts and test results Perform expensive tests last
CI: How? Summary Be Responsible Merge frequently Don’t commit a
broken build Don’t commit broken tests Don’t “push and run”
Continuous Delivery What is it?
The practice of deploying all releasable code all the time
Continuous Delivery
Initiate a deploy at the push of a button Continuous
Delivery
Continuous Delivery How do you do it?
Use a build server CD: How? Build Servers
Use a build service CD: How? Build Servers
All together Continuous Integration Merge frequently, Automate builds, Automate tests
Be responsible, don’t break the build Continuous Delivery Aim to deploy every commit (continuous deployment) Keep deployments trivial and low risk
Thanks! Questions? (and it’s time to get your laptop out)
Further Reading The Book: Continuous Delivery, J. Humble & D.
Farley Thoughtworks, Continuous Integration & Delivery thoughtworks.com/continuous-integration thoughtworks.com/continuous-delivery MartinFowler.com martinfowler.com/tags/continuous%20integration.html