Centecode is headed to Boston! Register for our user groupnetworking event on May 21st!
Glossary
>
Engineering

Continuous Delivery

What is continuous delivery?

Continuous delivery (CD) is the automatic preparation of software from a version-controlled repository to a running, testable state that can be checked prior to deployment to staging or production. CD works in tandem with continuous integration (CI) to form what is known as a Continuous Integration/Continuous Delivery (CI/CD) pipeline.

By automating this process so it’s quick and repeatable, CD allows software development teams to limit the risk of launching with issues, bring value to customers faster, and require fewer resources to release. In practice, CD usually emphasizes smaller, more frequent releases to achieve these goals.

Continuous software development timeline (integration, delivery, and deployment)
Example of continuous software development

Why is continuous delivery important?

The process of continuous delivery can help keep organizational costs while introducing value to customers through frequent deployments. In practice, continuous delivery makes release delivery as efficient and painless as possible.

  • A productive development team. By adopting a cadenced and automated approach to delivering releases to customers, development teams have clear direction and expectations that improve team and developer productivity.
  • Automate the test and preparation of code updates for release. Development and testing teams are reducing friction and keeping the resources needed to support products in check by automating the process of preparing a new release for deployment.
  • Reduces the number of errors done by automating manual tasks. Manual, human intervention often comes with errors. By meticulously designing an automated process for preparing software, we limit the opportunity to introduce errors.
  • Identifies and addresses issues earlier with faster, automated software testing. Performing thorough and rigorous manual testing from software testing teams can be time consuming and does not fit well into modern software development. By investing in automated testing development, teams are covering more ground faster and ensuring a more seamless and higher quality product.
  • Deliver faster value to customers through updates. Keep customers happy with new releases that frequently introduce new value and enhancements to the product experience.

What testing happens during continuous delivery?

After the build steps are completed, a CI/CD pipeline will usually proceed to automated testing. These test suites are critical for ensuring that the release is truly ready for deployment. Here's a list of the specific kinds of testing that can happen during this time:

  • Unit testing
  • Functional testing
  • Integration testing
  • UI testing
  • API testing
  • Load or stress testing
  • Regression testing
  • Delta testing (automated user testing)

Continuous Delivery vs. Continuous Deployment

While continuous delivery is focused on automating the process of building and testing the software, it still requires manual approval in order to deploy that software to production environments. With continuous deployment, the software deployment also happens automatically once the release has passed the requisite building and testing check.

Get Started for Free or Schedule a Live Demo to Learn More

Related Blog Posts

Featured Blog Posts