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
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
190
contribution to astral-sh/uv
shunsock
0
450
CSC305 Lecture 09
javiergs
PRO
0
300
その面倒な作業、「Dart」にやらせませんか? Flutter開発者のための業務効率化
yordgenome03
1
140
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
250
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
440
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
6.7k
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
230
Claude CodeによるAI駆動開発の実践 〜そこから見えてきたこれからのプログラミング〜
iriikeita
0
320
SODA - FACT BOOK(JP)
sodainc
1
8.6k
CSC509 Lecture 08
javiergs
PRO
0
230
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
2
200
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
Designing for humans not robots
tammielis
254
26k
Building an army of robots
kneath
306
46k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Six Lessons from altMBA
skipperchong
29
4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
Designing for Performance
lara
610
69k
4 Signs Your Business is Dying
shpigford
185
22k
Building Adaptive Systems
keathley
44
2.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
GitHub's CSS Performance
jonrohan
1032
470k
Producing Creativity
orderedlist
PRO
347
40k
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