Continuous Deployment (CD) in software development
Through the implementation of a Continuous Deployment pipeline software products are released automatically after each change, that could be several times a day.
In the course of the continuing digital transformation it gets more and more important to shorten cycle times for innovations and therefore to release new versions of products more often.
As a prerequisite for that the development of the product has to have a high coverage of automated tests and a very robust pipeline, because not all changes can be tested manually.
In practice, this form is used the least.
Differentiation from Continuous Delivery and Continuous Integration
Continuous Deployment, Delivery and Integration are three different stages of the same idea: the continuous development of software.
Continuous Deployment is the highest stage, because here all changes are being delivered automatically to the customer. There are no classically used releases in Continuous Delivery.
With Continuous Delivery changes are being deployed to an internal server, but they will not be delivered to the customer right away. This allows developers to test the application manually before the release.
In academic terms, the difference lies in the degree of automation in relation to the deployment method (Continuous Deployment: automatic, Continuous Delivery: manual). In practice, however, it can happen that these terms are used almost synonymously.
The term Continuous Deployment first appeared in 2009 in a blog post by Timothy Fitz. About a year later, the first work on continuous delivery was published - the book "Continuous Delivery: Reliable Software Releases Through Build, Test and Deployment Automation" by Jez Humble and David Farley. The two authors deliberately decided against the term Continuous Deployment, as Continuous Delivery does not automatically deploy to production. Continuous deployment implies continuous delivery. However, this is not the case the other way around.
Continuous Integration is the lowest stage in Continuous Development. Here, all changes are being build and tested automatically, but there is no automatic deployment to a server.
Continuous Delivery with the Cloudogu EcoSystem
The Cloudogu EcoSystem supports a Continuous Integration pipeline. To turn this into a Continuous Delivery pipeline you only have to configure and provide deployment targets/servers. To make it Continuous Deployment, customers need to have access to the server.
The Cloudogu EcoSystem uses Jenkins as build server. You can find a tutorial on how to set up a Continuous Delivery pipeline in our blog: from the basics of a Jenkins pipeline over performance optimization and helpful tools to the whole pipeline.