Every developer has experienced, at least once in his or her life, that feeling of tension on the Delivery Day. Being aware of the pitfalls of software development, developers are afraid of emerging defects, inconsistencies, and malfunctions while using it.
Are we really confident that this is the way? Can we overcome the fear of deployment by turning every day in a D-day? Yes, we can! How? Through the practice of Continuous Delivery.
Continuous Delivery is an ongoing DevOps practice based on the automation of the entire pipeline.
Are you a release candidate?
Unlike traditional processes where product development is separated from the functional activities for the software release, the Continuous Delivery approach proposes always ready software to release.
You could do it through the continuous integration of each development, which is released in a staging environment – akin to the production staging. The software that reaches this stage has already passed the build and test phases, and as a matter of fact, it is ready to be released.
Every change that is introduced into the system following this practice is, therefore, a release candidate, deliverable in production as a new version of the software.
This process can be taken to its extreme, automating this last step and automatically put into production without a manual approval: this practice is called Continuous Deployment.