Not the best idea. I don't debug as well under the extreme pressure of my site being broken with the clock ticking.
Not the best idea. I don't debug as well under the extreme pressure of my site being broken with the clock ticking.
This is possible because many new behaviour is controlled by "feature flags" which are associated with the server configuration. So you have the benefit of everybody, developers and production, staying very close to trunk, but still being able to have radically different behavior on development machines versus production.
That said, I have participated in debugging sessions on a product which used continuous deployment, and they can indeed be nerve-wracking. Personally I wouldn't want to use CD by itself, without a good culture of code review and a great test suite.
Also, while they don't do full rollbacks, I suspect more than one fix has been "remove the offending code until we can figure out what's wrong".
I'm not sure that the number of lines makes the change more or less risky.
Rolling back the code-base would mean everyone else would need to roll back theirs, and you'd lose history. It's easier across the board to simply re-write what it was - a "roll forward", if you will.
Employee calls the CEO of the company in the middle of the night panicked, saying the site is down and there is no way they can fix the problem, they don't even have the right skill set.
CEO tells the employee to calm down and do their best.
Site is back online twelve minutes later.
That often means you need managers who are especially good at (or at least dedicated to) deflecting the freak out/crazy.
CD won't increase your changed related incidents, but to paraphrase the IBM parable, "no one ever got fired, for doing quarterly releases, and heavy QA."
* Note: I am not endorsing this as a setup, it's crazy. I don't think I've ever seen such high staff turnover.