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

Post on 19-Mar-2017

103 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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

over 20 years 4000 people

40 offices 14 countries

@pm_suzie

❤ci forever

@pm_suzie

hands up !

@pm_suzie

hands up !

@pm_suzie

What is CI?

@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

master

@pm_suzie

dailymaster

@pm_suzie

Check everything in🥇

@pm_suzie

Build every commit🌅

@pm_suzie

Automate the build🛰

@pm_suzie

Keep it fast!%

@pm_suzie

Keep it fast!

@pm_suzie

Have self testing🌡

@pm_suzie

Show visible failures 🚨

@pm_suzie

Show visible failures 🚨

@pm_suzie

Fix failures immediately💊

@pm_suzie

master

@pm_suzie

dailymaster

@pm_suzie

Why we fell in love with CI?

@pm_suzie

Avoid merge conflicts

@pm_suzie

Fast feedback

@pm_suzie

Reduce risks

@pm_suzie

Collective ownership

@pm_suzie

Our story so far…..❤

@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

COMPLICATEDIT’S

@pm_suzie

COMPLICATEDIT’S

@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

COMPLICATEDIT’S

@pm_suzie

“CI Theatre”🎭

@pm_suzie

Not getting the benefits of CI

@pm_suzie

Painful🤕

@pm_suzie

Not ready for Continuous Delivery or DevOps

@pm_suzie

SAVE YOUR CI NOW!

3 HOT TIPS

@pm_suzie

Commit more often

@pm_suzie

Automate, automate, automate

@pm_suzie

Trunk based development

@pm_suzie

master

@pm_suzie

dailymaster

@pm_suzie

❤ci forever

@pm_suzie

To be continued…

top related