Continuous Delivery in a NutShell

Mainline Workflow

tl;dr

I want to do a tl;dr of a workflow, that two years ago seemed insane, but now would seem impossible for me to work without and still feel efficient. The topic of Continuous Delivery and Mainline workflow.

  • Google
  • Facebook
  • Amazon
  • Atlassian
  • WordPress
  • Intercom
  • IMVU, since 2009 (50 deployments/day)
  • Wealthfront, since 2010
  • Etsy, since 2010
  • DISQUS, since 2011
  • Box, since 2013
  • Hubspot, since 2013 (300 deployments/day)
  • Tesla and Adobe

Day to day responsibilities of the developers

credit to The Lego Group

Testing

Code Review

Feature Flags

CI

  • The code will be built on the server catching “it works on my machine issues”
  • The tests has to pass.
  • The style rules have to pass

Deployment

  • composer install — which can have moments where Github fails or http issue
  • yarn install — still some risk here of server issues

Long QA Branches

There are those moments when QA and regulations are blocking you. But this then turns into a “release branch” and not a tag.

Credit to the Continuous Delivery Book https://continuousdelivery.com/

Links

Jez Humble and Continuous Deliver 20017 Keynote: Continous Delivery Sounds Great By Jez Humble @ Agile India 2017 — YouTube

Footnotes

[1] Or even going to staging with an “artifact” will be good enough since that will be sent as a whole to production. ↩︎

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store