What is Continuous Delivery?
Discover what Continuous Delivery is, why it matters, and how to confidently deploy all of your applications, every time.
What is Continuous Delivery?
Continuous Delivery (CD) uses automation to speed up the release of new code and configuration changes. It is an established automation process through which changes to an application can be pushed to a repository or registry. Simply put, it is the ability to get changes of all types—including new features, configuration changes, bug fixes and experiments—into a state ready for production deployment.
Automatically releases code after every commit.
Continuous Delivery (the CD in CI/CD) pushes changes through an automated pipeline and ensures that every code change is available for installation as a new version to your customers.
Depending on the application, users may download a new version. Alternatively, an internal team may need to deploy the code to production before it is available to users. So, with CD, developers can deploy their changes at any time with the click of a button or at the completion of Continuous Integration (the CI in CI/CD).
Where Does Continuous Delivery Fit Into the Release Process?
Because CD relies on manageable development through short sprints, it represents the bulk of the release process before deployment. The goal of CD is to maintain your code in a deployable state with features that are tested, debugged, and deployable.
What’s the Difference Between Continuous Delivery and Continuous Deployment?
Continuous Deployment is the full automation of the last step in your software delivery process; Continuous Deployment ships code to production safely and securely on every commit.
You cannot perform Continuous Deployment without having Continuous Delivery, but you can have Continuous Delivery without Continuous Deployment.
Instead of just making a new version available, Continuous Deployment also ensures it is in use in your production environment. Continuous Deployment also typically ensures non-code changes go through the same deployment and validation process.
Why Does Continuous Delivery Matter?
CD adds significant safety and speed to product development organizations and reduces the time to make new features available to users. It shortens feedback loops, catches bugs earlier (therefore making them less costly to fix), and accelerates the velocity of your development team.
Put simply, CD results in a competitive advantage for your company by accelerating the value being delivered by you and your product development teams.
Developers can deploy their changes at any time (it’s recommended to deploy the changes to production as often as possible). This simplifies troubleshooting and grants users access to the best that the product has to offer, ASAP.
What are the Benefits?
CD enables developer teams to automatically build, test, and get code ready to be released to production faster. This process is more efficient and faster than other development models and can help your team be more productive. Without having to worry about manual tasks and automatically reducing the number of bugs and errors, developers can focus on innovative, quality code that solves problems.
What Does Continuous Delivery Do?
To review, Continuous Delivery is a software development practice where code changes are automatically prepared for a release to production. This practice accelerates the time to market by removing as many human interventions as possible. It centralizes control, provides visibility into performance, and accurately monitors and flags issues.
CD sends any committed code through automated deployment pipelines to a staging environment, unless it is proven defective. Once code passes testing, it sits in staging, waiting for the thumbs-up from the Release Manager, before being put into production.
CD accelerates the introduction of new features to users in a way that is easy to scale and maintain.
Commit. Deploy. Repeat.
Continuous Deployment at any scale, for all developers.