Sitemap
Mugdha Mundhe

Mugdha Mundhe

Expertise in mobile application development like iOS & React Native. Introductory knowledge of Azure DevOps. Also playing role of Scrum Master in team.

Continuous Delivery

2 min readJul 26, 2023

--

Continuous delivery lets development teams automate the process that moves software through the software development lifecycle, and it can provide many benefits when provisioning an integrated toolbox, including the following:

  • Reduce time to deployment through continuous testing and development
  • Decrease the costs associated with traditional software development
  • Scale software development based on project size
  • Deploy code automatically into each phase of the development cycle

Continuous delivery best practices

The following are a set of best practices to consider when using continuous delivery:

  • Make every change releasable: If you use continuous delivery to make every change releasable, you must include user documentation, operations runbooks, and information about what’s changed, for auditing purposes.
  • Embrace trunk-based development: Continuous delivery builds on continuous integration. Avoid branches that delay integration as much as possible so that every change is built, tested, and deployed together for the fastest feedback.
  • Deliver through an automated pipeline: To successfully implement continuous delivery, you need a well-constructed, automated delivery pipeline to ensure all your code releases move into your test and production environments in a consistent way.
  • Automate as much as possible: In continuous delivery, you must automate as many processes as possible in your software development lifecycle to create a good, reliable delivery pipeline, not only for code builds and deployments but also for the creation of new development environments.
  • Aim for no downtime: To ensure application availability while you make frequent, continuous delivery updates, when you push a new function to production, you must first validate it before deploying it to the public running application instance.
  • Release at the granularity of test: If two parts of a system must be tested together, they should be released together so that you know that the parts of your system are compatible. Release automation tools are good at coordinating this kind of delivery. Alternatively, fully decouple.

Continuous deployment vs. continuous delivery

Continuous deployment can be part of a continuous delivery pipeline. Specifically, continuous delivery is the automated movement of code through the development lifecycle (sometimes called the delivery lifecycle); continuous deployment is the automated movement of that code into production, once it passes the required automated tests.

Get Mugdha Mundhe’s stories in your inbox

Join Medium for free to get updates from this writer.

Whether you make continuous deployment part of your delivery pipeline depends on your business needs. If the business needs the delivery team to release new or updated software out to production repeatedly, reliably, or as quickly as possible, or if the solution has multiple dependencies, then it is likely you will benefit from continuous deployment.

--

--

Mugdha Mundhe
Mugdha Mundhe

Written by Mugdha Mundhe

Expertise in mobile application development like iOS & React Native. Introductory knowledge of Azure DevOps. Also playing role of Scrum Master in team.