Continuous Deployment
Table of Content:
Introductory Note
According to Martin Fowler, "It’s hard enough for software developers to write code that works on their machine. But even when that’s done, there’s a long journey from there to software that’s producing value - since software only produces value when it’s in production".
Learn Continuous Deployment (CD), which is a practice that enables automatic deployment of software to production.
What is Integration Pipeline?
-
An extension of each individual component’s pipeline.
-
At first stage:
-
Integrate components binaries.
-
Create a package (or packages) for deployment.
-
What is Continuous Deployment?
Continuous Deployment is a software development practice, where software is built in such a way that it can be released automatically to production any time.
CD is a logical extension of Continuous Integration, which together aims at giving developers and end users an incredible experience by:
-
Detecting bugs at an early stage.
-
Ensuring seamless deployments to all environments.
Why CD?
A reliable release is highly at stake when:
-
The software is deployed manually.
-
Development is completed and then deployed to a production-like environment.
-
Lack of proper configuration tools.
Adapt Continuous Deployment for a stable and reliable release.
-
Reduced cycle time: Reduces the time it takes from the development of code to the changed code being used by users in production.
-
Zero downtime releases: Frequent deployment of changes enables negligible production downtime.
-
High quality: Issues detected early and fixed immediately, ensures the best quality of the end product.
-
Immediate user feedback: Frequent deployment enables quick user feedback.
Continuous Delivery vs Continuous Deployment
We need to practice Continuous Delivery in order to do Continuous Deployment but the reverse is not mandated.
Foundations of CD
-
Configuration Management
-
Continuous Integration
-
Continuous Testing
Learn Continuous Deployment from scratch! This beginner-level course covers CI/CD pipelines, automation, and deployment strategies. Perfect for developers, testers, and IT professionals looking to streamline software delivery.