The purpose of Continuous delivery is to be able to quickly deliver customizations and extensions of your project to production, without interrupting the work of the Live environment, without having downtime, or without the need to manually merge configurations or databases. You ensure your application functions as expected using through automation tests on a production-like environment. Propelling the changes through the environments is automated, which makes it more reliable.
The main goal of the process is that after every development iteration, you end up with the same setup, which you started with - code is the same on all environments, the latest database is on the Live environment.
The following chart displays a simplified overview of a Continuous delivery process:
During delivery of source code to a Staging or Live environment some of the environment configurations need to be different. For example, API keys for different connectors and SMTP server settings, which is necessary because you do not want to spam the live accounts with test data.
Continuous delivery automates the delivery of configurations from Development to Live environments. This way, you do not need to manually apply transformation to configurations.
The following flowchart demonstrates the flow of code and database:
Generally, in a Continuous delivery process, you have the following environments:
You can setup a Continuous delivery process for new, as well as existing projects. You can setup the process, regardless of how many existing environments you are currently using, and regardless of where your project is currently deployed or where you want to deploy it. You can also setup the process with a SiteSync environment, used to synchronize content.
Your Live environment can be located on various locations, such as Amazon Web Apps, Azure Cloud Services, on a Virtual Private Server, etc.
For all available deployment options, see Deployment.
Back To Top