Continuous Delivery

continuousdelivery.com · Personal blog · on HN since 2011

Continuous Delivery is the site tied to the book of the same name, with posts on deployment pipelines, branching and software delivery practices.

What HN saysCommenters cite the book as a strong guide to building deployment systems and point to its case against long-lived feature branches.
20HN people shared it
9linked it in comments
11stories submitted
22story points
3 years agolast shared
2011people per year2026

Most-shared posts

  1. 1
    What is Continuous Delivery?
    6 people · 1 points · first shared 2011 · discussion on HN
  2. 2
    The Flaw at the Heart of Bimodal IT
    3 people · 6 points · first shared 2016 · discussion on HN
  3. 3
  4. 4
    Why Software Development Methodologies Suck
    1 people · 7 points · first shared 2012 · discussion on HN
  5. 5
    Jez Humble on Continuous Integration
    1 people · 2 points · first shared 2017 · discussion on HN
  6. 6
  7. 7
    Visualizations of Continuous Delivery
    1 people · 1 points · first shared 2014 · discussion on HN
  8. 8
    There's no such thing as a "DevOps Team"
    1 people · 1 points · first shared 2013 · 1 comments on HN
  9. 9
  10. 10
    Test automation
    1 people · first shared 2018
  11. 11
    02 CD test strategy low res.jpg
    1 people · first shared 2015
  12. 12
  13. 13
    Continuous delivery
    1 people · first shared 2011
  14. 14
    Patterns
    1 people · first shared 2018
  15. 15
    03 CD automated acceptance test low res.jpg
    1 people · first shared 2015

What HN people wrote when they linked it

scorchin · 2011-02-13
On the whole you're on the right track, but I'd like to explain a little further about what you're doing and the possible long-term implications. Feature Branches can become corrosive. Any changes made on the mainline will have to be merged with every feature branch. This is fine with small teams (< 3) but can become frustrating when you have a lot of feature branches or high velocity on your trunk/master. Long-lived branches and refactorings must be merged regularly to prevent merge conflict hell! A lot of this comes down to having disciplined developers. Why develop on mainline? A lot of this comes from the non-dvcs days. It was expensive to make a branch/tag and they tended to be made when making a release. The beauty of keeping mainline up-to-date (commits once per day) is that you have a regular tracking point to revert changes back from on production. Instead of trying to remember which feature branch was deployed, you have a consistent (linear) timeline. As you've said this becomes beneficial when you automatically test and deploy your code. A lot of this is to enable best practices for when you decide to setup a CI server like Jenkins to run your unit/integration tests and then deploy automatically (maybe) on a clean run. Regarding git, I'm going to assume that you've taught your devs enough to follow good habits to keep them sane. Many find that learning git takes a fortnight or so to fully understand. Still, it's always worth throwing a bunch of resources their…
auslegung · 2018-12-02
1. The Problem of Pain by CS Lewis 2. A Philosophy of Software Design https://www.amazon.com/dp/1732102201/ref=cm_sw_r_cp_api_i_EKcbCbBZD412… 3. Haskell from First Principles http://haskellbook.com 4. Les Miserables 5. Continuous Delivery https://continuousdelivery.com
teh_klev · 2018-10-04
Just some friendly advice. When you're referencing stuff elsewhere on the web do it like this: [1] https://trunkbaseddevelopment.com/ [2] https://continuousdelivery.com/ [3] https://cloudplatformonline.com/2018-state-of-devops.html This means the links are clickable. Using the code indentation thing you did there causes all sorts of grief for mobile device users.
bergie · 2012-02-07
Some, like the authors of Continuous Delivery (http://continuousdelivery.com/) seem to be arguing against branches, and for a single codebase that is continuously tested, integrated, and releasable. That said, private branches can make it easier for people to commit early and often, as all changes can easily be squished together so others don't have to see every "embarrassing" iteration.
brown9-2 · 2011-02-12
Continuous Delivery is a great book about how to build such deployment systems and infrastructure (I'm only about a third of the way through it): http://continuousdelivery.com/2010/02/continuous-delivery/
fathom108 · 2014-06-05
I used to use feature branches more heavily but these days Branch By Abstraction tends to be my first choice. http://continuousdelivery.com/2011/05/make-large-scale-changes-increme…
tednaleid · 2011-08-31
This sounds like a feature branch strategy, which I've only used in 1 or 2 person teams, never on projects that big. There have been some articles recently on the downsides of feature branching that my experience agrees with (http://continuousdelivery.com/2011/07/on-dvcs-continuous-integration-a… I'm curious if the GitHub people have hit the same issues. So if 2 people are working on the same feature, they're probably working off the same named branch. Are there any race conditions with merging to master? I'm assuming that only one head is allowed in master, correct? So that before a pull request is accepted and merged into master, the latest master must first be merged into the feature branch and have CI run all tests successfully on it before the pull request can go. Does GitHub stop you from merging into master if someone else just merged into master and you're about to create a new head? Then you have to merge the latest master into your feature branch, run CI on it again and then merge to master after CI is successful (assuming someone else didn't beat you to merging to master again). (I've got a lot more experience with Mercurial than Git so my mental model could be a little off)

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close