4 ms·
Agreed. If continuous delivery means you can release your software at any time, then that seems to assume you have integrated all the pieces of your software. I
by troupe 9y ago
Agreed. If continuous delivery means you can release your software at any time, then that seems to assume you have integrated all the pieces of your software. If continuous deployment means automatically deploying every passing build, it seem to assume that when you get a passing build, you are in a state where you can deploy. So continuous delivery depends on continuous integration and continuous deployment depends on continuous delivery.
I supposed you could just deploy stuff to prod when the build finishes without being in a state where you can safely deploy. Well now that I think of it I have seen places that do that, but it never turns out well.
- jwatte 9y agoContinuous deployment means you are never in a state where you cannot deploy. Yes, this requires significant effort. API agility, schema agility, cache agility, ... Lots of things need to be solved! (Imagine storing a serialized cached entity from a later version, abd getting a cache hit in the concurrently operating previous version, for example.) It's similar to how continuous integration means your master is always stable (all builds work and all tests pass.) If you can't do a 1% (or 10%) canaried deploy, you're not yet ready for continuous deployment.