What is Continuous Delivery?
Continuous delivery involves keeping software updates small and incremental, with the goal that an update can be delivered at any moment – into production, or direct to end users – without disruption, using a sustainable and scalable process.
The key outcome of continuous delivery is that software is always ready to be deployed – on demand, at a moment’s notice. This involves having continuous integration in place, with developers working concurrently on small, incremental builds uploaded frequently to a source repository – then adding on and automating extensive regression and performance tests to make sure that code can be deployed instantly, on demand.
With continuous delivery, an organization can ensure that new features, configurations and fixes are delivered rapidly, predictably, and routinely and without interfering with normal operations. This involves a streamlined process referred to as the continuous delivery pipeline, which involves uploading code to a centralized source repository, automated testing and QA, and deployment to an intermediate environment. At this point, continuous delivery enables code to be pushed to production.