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
90
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Continuous Integration, fast builds and Flot
Prepared for the Melbourne Patters Group
Chris Bushell
February 03, 2010
More Decks by Chris Bushell
See All by Chris Bushell
Test Automation for Packaged Systems: Yes You Can!
cbushell
0
88
Introduction to Pair Programming
cbushell
1
140
An Introduction to BDD
cbushell
5
190
An Introduction to HTTP
cbushell
2
150
Agile Test Automation
cbushell
2
200
Working Effectively With Legacy Code
cbushell
4
260
Jasmine, BDD for JavaScript
cbushell
1
140
Branches Are For Trees. How to Develop Software Without Them
cbushell
1
130
State Pattern From GoF
cbushell
1
81
Other Decks in Programming
See All in Programming
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
250
プロポーザルを書いてもらう
pvcresin
0
590
Loosening the Reins: Go Generics Get More Flexible
kuro_kurorrr
0
350
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
170
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
240
異なる設計思想のフレームワークを経験して得た学び
amekuhideki
2
850
「人を評価する AI」の設計と実装
ryoyanara
0
260
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
220
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
270
AIの中の人になってみる
htkym
0
140
Hono + Inertia + React で LP を構築した話
oukayuka
2
190
初めての模倣学習とVLA
natsutan
0
330
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Documentation Writing (for coders)
carmenintech
77
5.5k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Building an army of robots
kneath
306
46k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
430
Why Our Code Smells
bkeepers
PRO
340
58k
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
290
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
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