Introduction To Continuous Integration: Mike Roberts
Introduction To Continuous Integration: Mike Roberts
Continuous Integration
Mike Roberts
This session
• Some slides
• Demonstration
• You!
• Time at end for Q+A but please
shout out if something is unclear
• Law of 2 feet!
Introduction to
Continuous Integration
Or…
A tale of Lava Lamps,
Homer Simpson, and
broken builds
Overview
What?
Why?
How?
Show me!
What?
What is Continuous
Integration?
“ Continuous Integration is a
software development practice
where members of a team
integrate their work frequently,
usually each person integrates at
least daily - leading to multiple
integrations per day. Each
integration is verified by an
automated build (including test) to
detect integration errors as quickly
as possible.“
What is Continuous
Integration?
• “The Daily Build on Steroids”
or…
• At a minimum:
– Gather latest source together
– Compile
– Execute tests
– Verify success
What is “integration” ?
• As frequently as possible
Refactor
Why?
Why?
• Regular feedback
• Increased automation
• Developer discipline
– Continuous means continuous, not
‘once per week’
• Shared ownership
Automated CI
• Automated Continuous Integration Server
– CruiseControl, CruiseControl.NET, TeamCity,
Bamboo, etc.
– Publishes results
How does Automated CI
Work?
Why use Automated CI?
• Makes integration easy
• http://cruisecontrol.sourceforge.net/
• http://ccnet.thoughtworks.com/
• Etc…
Introduction to
Continuous Integration
Mike Roberts
http://www.mikebroberts.com/
[email protected]