continuous integration: a bittersweet love story

41
Continuous Integration: A bittersweet love story

Upload: suzie-prince

Post on 15-Apr-2017

297 views

Category:

Internet


0 download

TRANSCRIPT

❤Continuous

Integration: A bittersweet love

story

Head of Product for ThoughtWorks Products

Product Manager for Snap CI

10+ years experience with agile, CI and CD practices

Tweeting @pm_suzie

❤CI FOREVER

Hands up !

What is CI?

– Jez Humble, continuousdelivery.com

“CI developers integrate all their work into trunk (also known as mainline or master) on a regular basis (at least daily).”

dailymaster

Single code repository

Build every commit

Automate the build

Self testing

Fast!

Visible failures

Fix failures immediately

dailymaster

Why we fell in love with CI?

💑

Avoid merge conflicts

Fast feedback

Reduce risks

Collective ownership

1996Steve McConnell describes the

"Daily Build and Smoke Test" technique

2000Martin Fowler’s first published his

comprehensive Continuous Integration article

2010Book “Continuous Delivery” by Humble and Farley published

Our story so far…..

1993Grady Booch used the phrase

“continuous integration” in Object-Oriented Analysis and

Design with Applications

2007Book “Continuous Integration” by

Duvall published

2016Wikipedia lists 15+ continuous

integration Tools

2001The first continuous integration

server Cruise Control is released

2015CI described as “most essential

technical practice” in SAFe

1998Continuous integration is cited as

a core practice of Extreme Programming

COMPLICATEDIT’S

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?

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?

Contextual research affinity wall

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

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 Continuous Integration?

How do people define Continuous Integration?

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/

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

COMPLICATEDIT’S

Not getting the benefits of CI

Painful🤕

Not ready for Continuous Delivery or DevOps

SAVE YOUR LOVE LIFE NOW! 3 HOT TIPS

Commit more often

Automate, automate, automate

Trunk based development

dailymaster

❤CI FOREVER

To be continued…