Continuous Delivery

Why Trust Techopedia

What Does Continuous Delivery Mean?

Continuous delivery (CD) is a software development practice that automates quality assurance (QA) testing in order to facilitate frequent code releases to a staging server.

Advertisements

A continuous delivery approach requires the production and test environments to be similar. Once new code is committed, it triggers an automated work flow that builds, tests and stages the update.

With continuous delivery, the developer makes the final decision about whether the code is stable enough to move into a live production environment, and the operations team is responsible for moving approved code from stage to a production server.

Techopedia Explains Continuous Delivery

The most important thing to understand about the role continuous delivery plays in DevOps is that "delivery" does not mean "pushed into production."

When a developer says that code is ready for delivery, it simply means that the code has been written, peer reviewed, merged and successfully passed software QA tests before the new source code version was tagged in the development team's configuration management tool.

What is CI/CD?

Continuous delivery is often mentioned in tandem with continuous integration (CI). CI/CD is an umbrella term that is often used to describe any software development process that includes automation.

DevOps and DevSecOps teams use automation to accelerate the build, test, and deployment stages of software development. This includes:

Continuous delivery — QA testing is automated, but code is released manually.

Continuous deployment — Code changes are automatically released to production as canary tests.

Continuous integration — Developers use a shared repository like Git to automatically build and run QA tests. If a build or test fails, the CI server alerts the development team.

Continuous Delivery vs. Deployment

In addition to continuous integration and continuous delivery, CI/CD includes the concept of continuous deployment.

Unlike a continuous delivery approach, which requires operations team members to manually release code to production, continuous deployments automatically release code into production using canary tests.

A canary test is simply a code release that only goes out to a small percentage of users. In this approach, the small percentage of end users that receive the code release serve as the test environment.

Advertisements

Related Terms

Margaret Rouse
Technology expert
Margaret Rouse
Technology expert

Margaret is an award-winning writer and educator known for her ability to explain complex technical topics to a non-technical business audience. Over the past twenty years, her IT definitions have been published by Que in an encyclopedia of technology terms and cited in articles in the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine, and Discovery Magazine. She joined Techopedia in 2011. Margaret’s idea of ​​a fun day is to help IT and business professionals to learn to speak each other’s highly specialized languages.