devopsdays baltimore march 2017 - continuous integration: a bittersweet love story
TRANSCRIPT
DevOpsDays Baltimore 2017@pm_suzie
❤CONTINUOUS INTEGRATION: A BITTERSWEET
LOVE STORY
DevOpsDays Baltimore 2017@pm_suzie
❤CONTINUOUS INTEGRATION: A BITTERSWEET
LOVE STORY
Head of Product for ThoughtWorks Products
10+ years experience with agile, continuous integration and continuous delivery practices
Tweeting @pm_suzie
@pm_suzie
@pm_suzie
@pm_suzie
@pm_suzie
– Jez Humble, continuousdelivery.com
“ C I D E V E L O P E R S I N T E G R AT E A L L T H E I R W O R K I N T O T R U N K ( A L S O
K N O W N A S M A I N L I N E O R M A S T E R ) O N A R E G U L A R B A S I S
( AT L E A S T D A I LY ) . ”
@pm_suzie
@pm_suzie
@pm_suzie
Our story so far…..
1993 Grady Booch used the phrase
“continuous integration” in Object-Oriented Analysis and
Design with Applications
❤
@pm_suzie
1996 Steve McConnell describes the "Daily Build and Smoke Test"
technique
Our story so far…..
1993 Grady Booch used the phrase
“continuous integration” in Object-Oriented Analysis and
Design with Applications
❤
@pm_suzie
1996 Steve McConnell describes the "Daily Build and Smoke Test"
technique
Our story so far…..
1993 Grady Booch used the phrase
“continuous integration” in Object-Oriented Analysis and
Design with Applications
1998 Continuous integration is cited as a core practice of Extreme
Programming
❤
@pm_suzie
1996 Steve McConnell describes the "Daily Build and Smoke Test"
technique
2000 Martin Fowler’s first published his comprehensive Continuous
Integration article
Our story so far…..
1993 Grady Booch used the phrase
“continuous integration” in Object-Oriented Analysis and
Design with Applications
1998 Continuous integration is cited as a core practice of Extreme
Programming
❤
@pm_suzie
1996 Steve McConnell describes the "Daily Build and Smoke Test"
technique
2000 Martin Fowler’s first published his comprehensive Continuous
Integration article
Our story so far…..
1993 Grady Booch used the phrase
“continuous integration” in Object-Oriented Analysis and
Design with Applications
2001 The first continuous integration server Cruise Control is released
1998 Continuous integration is cited as a core practice of Extreme
Programming
❤
@pm_suzie
1996 Steve McConnell describes the "Daily Build and Smoke Test"
technique
2000 Martin Fowler’s first published his comprehensive Continuous
Integration article
Our story so far…..
1993 Grady Booch used the phrase
“continuous integration” in Object-Oriented Analysis and
Design with Applications
2007 Book “Continuous Integration”
by Duvall published
2001 The first continuous integration server Cruise Control is released
1998 Continuous integration is cited as a core practice of Extreme
Programming
❤
@pm_suzie
1996 Steve McConnell describes the "Daily Build and Smoke Test"
technique
2000 Martin Fowler’s first published his comprehensive Continuous
Integration article
2010 Book “Continuous Delivery” by Humble and Farley published
Our story so far…..
1993 Grady Booch used the phrase
“continuous integration” in Object-Oriented Analysis and
Design with Applications
2007 Book “Continuous Integration”
by Duvall published
2001 The first continuous integration server Cruise Control is released
1998 Continuous integration is cited as a core practice of Extreme
Programming
❤
@pm_suzie
1996 Steve McConnell describes the "Daily Build and Smoke Test"
technique
2000 Martin Fowler’s first published his comprehensive Continuous
Integration article
2010 Book “Continuous Delivery” by Humble and Farley published
Our story so far…..
1993 Grady Booch used the phrase
“continuous integration” in Object-Oriented Analysis and
Design with Applications
2007 Book “Continuous Integration”
by Duvall published
2001 The first continuous integration server Cruise Control is released
2015 CI described as “most essential
technical practice” in SAFe
1998 Continuous integration is cited as a core practice of Extreme
Programming
❤
@pm_suzie
1996 Steve McConnell describes the "Daily Build and Smoke Test"
technique
2000 Martin Fowler’s first published his comprehensive Continuous
Integration article
2010 Book “Continuous Delivery” by Humble and Farley published
Our story so far…..
1993 Grady Booch used the phrase
“continuous integration” in Object-Oriented Analysis and
Design with Applications
2007 Book “Continuous Integration”
by Duvall published
2017 Wikipedia lists 15+ continuous
integration Tools
2001 The first continuous integration server Cruise Control is released
2015 CI described as “most essential
technical practice” in SAFe
1998 Continuous integration is cited as a core practice of Extreme
Programming
❤
@pm_suzie
3%5%
6%
18%
Daily 68%
DailyWeeklyMonthlyOtherNever
http://stackoverflow.com/research/developer-survey-2016#work-checking-in-code
How often do you check in or commit code?
@pm_suzie
40%
20%
40% PractisingPlans to practiceNo plans
http://public.brighttalk.com/resource/core/88443/december_16_agile_in_the_enterprise_wholz_131607.pdf
When did or will your organization begin to practice continuous integration?
https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ @pm_suzie
Contextual research affinity wall
https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ @pm_suzie
https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ @pm_suzie
What do people know about Continuous Integration?
Do they practice Continuous Integration?
How do they practice Continuous Integration?
What tools do people use to practice ContinuousIntegration?
How do people define Continuous Integration?
https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ @pm_suzie
https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ @pm_suzie
You commit some
code, something
picks it up and
builds and makes
sure it still b
uilds
https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ @pm_suzie
You commit some
code, something
picks it up and
builds and makes
sure it still b
uilds
I push the code to the master branch
after it's been tested on the test branch.
That in return triggers something and gets deployed
https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ @pm_suzie
You commit some
code, something
picks it up and
builds and makes
sure it still b
uilds
I push the code to the master branch
after it's been tested on the test branch.
That in return triggers something and gets deployed
…testing your code all the time.
Executing the code that you write all the time, making
sure the code doesn't go stale
https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ @pm_suzie
https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ @pm_suzie
The most challenging thing is when you end up
with a lot of features piled
together in one commit
https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ @pm_suzie
The most challenging thing is when you end up
with a lot of features piled
together in one commit
Anytime a feature is finally complete then it get’s merged
into master
https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ @pm_suzie
We tend to do anywhere between
15 and 50 branches in a push
The most challenging thing is when you end up
with a lot of features piled
together in one commit
Anytime a feature is finally complete then it get’s merged
into master
@pm_suzie
@pm_suzie
@pm_suzie
@pm_suzie
@pm_suzie
@pm_suzie