Continuous Integration, Fast Builds and Flot
Upcoming SlideShare
Loading in...5
×
 

Continuous Integration, Fast Builds and Flot

on

  • 1,210 views

Continuous Integration, Fast Builds and Flot Chris Bushell, February 3rd 2010

Continuous Integration, Fast Builds and Flot Chris Bushell, February 3rd 2010

Statistics

Views

Total Views
1,210
Views on SlideShare
1,185
Embed Views
25

Actions

Likes
0
Downloads
19
Comments
0

2 Embeds 25

http://melbournepatterns.org 23
http://www.slideshare.net 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Continuous Integration, Fast Builds and Flot Continuous Integration, Fast Builds and Flot Presentation Transcript

  • Continuous Integration, Fast Builds and Flot
    Chris Bushell - Melbourne Patterns Group February 3rd 2010
  • Traditional Software Development
    Waterfall
    Development happens independently, in parallel streams
    Integration phase
  • Integration Is Painful
    Time consuming
    Unpredictable
  • Typical Software Development
  • Continuous Integration
    Single source code repository
    Automated build
    Automated tests
    Frequent commits
  • CI In Practice – Check Out
    Time
  • CI In Practice – Write Code
    Time
  • CI In Practice – Run Build
    Time
  • CI In Practice – Commit
    Time
  • CI In Practice
    Time
  • CI In Practice – Continuous Build
    Time
  • Encourage Frequent Check-Ins
    Integrating small changes is much less painful and time consuming than integrating large changes
  • Problem - Builds Can Become Slow
    More code = more tests = longer build time
  • A Fast Build Is Essential
    Idle developers
    Context switching
    Unable to deliver new features
    I get bored easily
  • Monitoring Build Time
    Need to measure how long your build takes
  • Continuous Integration Server
    API allows us to access historic build time information
  • 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
    Functional testing can be slow
  • Speeding Up A Slow Build
    Isolation from slow dependencies
    Impersonator pattern
  • 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 Patterns
    Check In Gate
    Fish Eye Test Suite
    Build Time Limit