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
79
2
Share
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
65
Introduction to Pair Programming
cbushell
1
130
An Introduction to BDD
cbushell
5
170
An Introduction to HTTP
cbushell
2
130
Agile Test Automation
cbushell
2
180
Working Effectively With Legacy Code
cbushell
4
260
Jasmine, BDD for JavaScript
cbushell
1
130
Branches Are For Trees. How to Develop Software Without Them
cbushell
1
120
State Pattern From GoF
cbushell
1
72
Other Decks in Programming
See All in Programming
Java 21/25 Virtual Threads 소개
debop
0
350
アクセシビリティ試験の"その後"を仕組み化する
yuuumiravy
0
130
Go_College_最終発表資料__外部公開用_.pdf
xe_pc23
0
200
CursorとClaudeCodeとCodexとOpenCodeを実際に比較してみた
terisuke
1
440
Don't Prompt Harder, Structure Better
kitasuke
0
740
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
590
ファインチューニングせずメインコンペを解く方法
pokutuna
0
310
ハンズオンで学ぶクラウドネイティブ
tatsukiminami
0
120
クラウドネイティブなエンジニアに向ける Raycastの魅力と実際の活用事例
nealle
1
140
Coding as Prompting Since 2025
ragingwind
0
830
How We Benchmarked Quarkus: Patterns and anti-patterns
hollycummins
1
120
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
770
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Crafting Experiences
bethany
1
110
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
440
Typedesign – Prime Four
hannesfritz
42
3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Curse of the Amulet
leimatthew05
1
11k
A Soul's Torment
seathinner
6
2.6k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
120
Exploring anti-patterns in Rails
aemeredith
3
320
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
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