Difference Between Continuous Delivery and Continuous Deployment

by Eyeglass Repair USA Professional Glasses Repair Shop
ontinuous Delivery and Continuous Deployment

The difference between continuous delivery and continuous deployment lies in the degree of automation utilized in app or software releases. Continuous delivery is when software is automatically transferred to production environments to further test and quality control, while humans are required to move to production following successful trials. In continuous deployment, automation goes further. When the code is tested, the production deployment occurs automatically, and no human approval is required.

What an organization does with the CI/CD best practices and decides to utilize the continuous delivery method or deploy it is contingent on its business requirements. Continuous deployment is ideal for DevOps teams with a quick development cycle, like teams working on eCommerce sites or SaaS platforms. Continuous deployment lets teams launch new or updated software as frequently and quickly as possible. Since updates are released to the public promptly and continuously, this deployment pipeline is usually employed by DevOps teams with an established process.

For teams that do not have to publish updates as often as they do in their workflow, like those who build healthcare applications, continuous delivery is often the best option. It's more time-consuming but provides an additional layer of control to ensure that the application functions for users.

The CI/CD pipeline stages

From the source codes to the final production stages constitute the development lifecycle as well as the process of the CI/CD pipeline

  • Create: This phase is part of the continuous integration process. It includes the creation and compilation of code. Teams collaboratively work from source code and integrate new code while rapidly identifying any issues or conflicts.
  • Test: At this stage, teams are testing the code. Automated tests are performed both in continuous delivery and deployment. They could be integrated tests, unit tests, or regression testing.
  • Delivery: Here, an approved codebase is delivered to an environment for production. This process is automated in continuous deployment only after the developer's approval.
  • Deploy: Lastly, the changes are deployed, and the final product is put into production. In continuous delivery, the products or codes are sent to repositories and then transferred to production or deployment with the approval of a human. Continuous deployment is an automated procedure.

Tools for CI/CD and configuration

When choosing CI/CD tools, the main focus should be the best way to automate and optimize the software development process. A successful CI/CD pipeline uses open-source tools to integrate testing, deployment, and integration. The correct setup of your CI/CD process can also affect the effectiveness of the development process for the software.

The most popular open-source tool for CI/CD is Jenkins. Jenkins provides an automated CI server written in Java to automate the CI/CD process and to report. Other open-source tools to integrate are Travis CI and CircleCI.

Integrated development environments (IDE), including GitHub and AWS CodeCommit, assist developers in developing, managing, and monitoring software application platforms, while platforms such as GitLab are attempting to offer the IDE as part of a larger platform that incorporates other tools.

Teams utilize containers such as Docker to package and ship applications in the cloud, and Kubernetes manage their orchestration. Although Kubernetes isn't explicitly designed for the CI/CD pipeline, it is utilized in various workflows that use CI/CD.

Sponsor Ads

About Eyeglass Repair USA Freshman   Professional Glasses Repair Shop

8 connections, 0 recommendations, 37 honor points.
Joined APSense since, March 5th, 2019, From Yelm, WA, United States.

Created on Dec 1st 2022 23:14. Viewed 922 times.


No comment, be the first to comment.
Please sign in before you comment.