We believe that any modern piece of software must have continuous integration and delivery. Deploying and pushing code, images or packages directly from a developer machine is something we consider to be of the past. For example, no developer should have permission to publish a package to the NPM registry directly from their development computer. This should be done via a CD workflow. By ensuring this, we guarantee that:
All the code can be audited and approved;
Most of the big mistakes can be avoided (for example, deploying/publishing the wrong branch);
It is easier to make a new release as a developer because not only can they trigger the workflow, but it also means that the whole process has been automated as code. The best documentation.