---
title: "Continuous Delivery"
description: "Continuous Delivery automates shipping ready code to staging and production. It also decouples deployment from developer systems by using merges in Git."
url: "https://qameta.com/continuous-delivery/"
---

# Continuous Delivery

Delivering continuous and high-quality software is an important part of software
development. By combining [Continuous Integration](https://qameta.com/continuous-integration/) and
automated deployment through a Continuous Delivery System we can:

* Deploy a branch on a separate staging environment for review
* Merged code into staging branch can be deployed to staging test system for
  review.
* Production-ready code merged to the production branch can be deployed
  automatically by the system without a trigger by the developer making it a
  repeatable and bulletproof process.

These are only view cases you may use a Continuous Delivery for. But to make
it a success, you need to provide a special ground in your software development.

## Requirements for Continuous Delivery

Continuous Delivery improves software development by providing highly
automated and quality-assuring system to deploy code to testing systems (also
called staging) and production without manual user intervention.

First of all, you need a bullet proved software test suite using [Test Driven
Development](https://qameta.com/test-driven-development/). If you can't rely on your test suite,
you need a review team to guarantee high-quality production systems, which is
mostly repeatable, boring and therefore error prone work.

## Summary

Having a working and reliable [Continuous Integration](https://qameta.com/continuous-integration/)
and Continuous Delivery system combined with a bulletproof test suite has a big
impact on the quality, speed and reliablity of software development and software
itself.
