devopsdays baltimore march 2017 - continuous integration: a bittersweet love story

76
DevOpsDays Baltimore 2017 @pm_suzie CONTINUOUS INTEGRATION: A BITTERSWEET LOVE STORY

Upload: suzie-prince

Post on 19-Mar-2017

103 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

DevOpsDays Baltimore 2017@pm_suzie

❤CONTINUOUS INTEGRATION: A BITTERSWEET

LOVE STORY

Page 2: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

DevOpsDays Baltimore 2017@pm_suzie

❤CONTINUOUS INTEGRATION: A BITTERSWEET

LOVE STORY

Page 3: DevOpsDays Baltimore March 2017 - 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

Page 4: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

over 20 years 4000 people

40 offices 14 countries

Page 6: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

❤ci forever

Page 7: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

hands up !

Page 8: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

hands up !

Page 9: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

What is CI?

Page 12: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@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 ) . ”

Page 14: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

master

Page 15: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

dailymaster

Page 16: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Check everything in🥇

Page 17: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Build every commit🌅

Page 18: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Automate the build🛰

Page 19: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Keep it fast!%

Page 20: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Keep it fast!

Page 21: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Have self testing🌡

Page 22: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Show visible failures 🚨

Page 23: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Show visible failures 🚨

Page 24: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Fix failures immediately💊

Page 26: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

master

Page 27: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

dailymaster

Page 28: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Why we fell in love with CI?

Page 29: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Avoid merge conflicts

Page 30: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Fast feedback

Page 31: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Reduce risks

Page 32: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Collective ownership

Page 33: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Our story so far…..❤

Page 34: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Our story so far…..

1993 Grady Booch used the phrase

“continuous integration” in Object-Oriented Analysis and

Design with Applications

Page 35: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@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

Page 36: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@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

Page 37: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@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

Page 38: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@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

Page 39: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@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

Page 40: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@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

Page 41: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@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

Page 42: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@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

Page 43: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

COMPLICATEDIT’S

Page 44: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

COMPLICATEDIT’S

Page 45: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@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?

Page 46: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@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?

Page 47: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ @pm_suzie

Contextual research affinity wall

Page 48: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ @pm_suzie

Page 49: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

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?

Page 50: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ @pm_suzie

Page 51: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

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

Page 52: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

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

Page 53: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

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

Page 54: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ @pm_suzie

Page 55: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

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

Page 56: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

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

Page 57: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

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

Page 58: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

COMPLICATEDIT’S

Page 59: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

“CI Theatre”🎭

Page 62: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Not getting the benefits of CI

Page 63: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Painful🤕

Page 64: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Not ready for Continuous Delivery or DevOps

Page 67: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

SAVE YOUR CI NOW!

3 HOT TIPS

Page 68: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Commit more often

Page 69: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Automate, automate, automate

Page 70: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

Trunk based development

Page 72: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

master

Page 73: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

dailymaster

Page 74: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

❤ci forever

Page 76: DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love story

@pm_suzie

To be continued…