Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Continuous Integration, fast builds and Flot
Search
Chris Bushell
February 03, 2010
Programming
2
60
Continuous Integration, fast builds and Flot
Prepared for the Melbourne Patters Group
Chris Bushell
February 03, 2010
Tweet
Share
More Decks by Chris Bushell
See All by Chris Bushell
Test Automation for Packaged Systems: Yes You Can!
cbushell
0
61
Introduction to Pair Programming
cbushell
1
120
An Introduction to BDD
cbushell
5
160
An Introduction to HTTP
cbushell
2
130
Agile Test Automation
cbushell
2
170
Working Effectively With Legacy Code
cbushell
4
250
Jasmine, BDD for JavaScript
cbushell
1
120
Branches Are For Trees. How to Develop Software Without Them
cbushell
1
110
State Pattern From GoF
cbushell
1
65
Other Decks in Programming
See All in Programming
[FEConf 2025] 모노레포 절망편, 14개 레포로 부활하기까지 걸린 1년
mmmaxkim
0
1.4k
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
260
LLMOpsのパフォーマンスを支える技術と現場で実践した改善
po3rin
8
1k
AI時代に学習する意味はあるのか?
tomoyakamaji
0
100
Trem on Rails - Prompt Engineering com Ruby
elainenaomi
1
100
A Gopher's Guide to Vibe Coding
danicat
0
190
TROCCO×dbtで実現する人にもAIにもやさしいデータ基盤
nealle
0
390
CSC305 Summer Lecture 12
javiergs
PRO
0
130
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
120
AIでLINEスタンプを作ってみた
eycjur
1
220
testingを眺める
matumoto
1
130
ソフトウェアテスト徹底指南書の紹介
goyoki
1
120
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
For a Future-Friendly Web
brad_frost
179
9.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
185
54k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Embracing the Ebb and Flow
colly
87
4.8k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Transcript
Con$nuous Integra$on, Fast Builds and Flot Chris Bushell
-‐ Melbourne Pa9erns Group February 3rd 2010
Tradi$onal SoCware Development • Waterfall • Development happens
independently, in parallel streams • Integra$on phase
Integra$on Is Painful • Time consuming • Unpredictable
Typical SoCware Development
Con$nuous Integra$on • Single source code repository •
Automated build • Automated tests • Frequent commits
CI In Prac$ce – Check Out Time
CI In Prac$ce – Write Code Time
CI In Prac$ce – Run Build Time
CI In Prac$ce – Commit Time
CI In Prac$ce Time
CI In Prac$ce – Con$nuous Build Time
Encourage Frequent Check-‐Ins • Integra$ng small changes is much
less painful and $me consuming than integra$ng large changes
Problem -‐ Builds Can Become Slow • More code
= more tests = longer build $me
A Fast Build Is Essen$al • Idle developers
• Context switching • Unable to deliver new features • I get bored easily
Monitoring Build Time • Need to measure how long
your build takes
Con$nuous Integra$on Server • API allows us to access
historic build $me informa$on
Flot • Demo
Speeding Up A Slow Build • Split code base
Speeding Up A Slow Build • Hardware •
SSD
Speeding Up A Slow Build • Think about how
to test • Unit tests are fast • Func$onal tes$ng can be slow
Speeding Up A Slow Build • Isola$on from slow
dependencies • Impersonator pa9ern
Speeding Up A Slow Build • Parallelize build
– Be careful with shared dependencies
Speeding Up A Slow Build • Choose a light
weight development container
Speeding Up A Slow Build • Sam Newman’s Build
Pa9erns – Check In Gate – Fish Eye Test Suite – Build Time Limit