0% found this document useful (0 votes)
24 views

Continuous Deployment

Continuous deployment (CD) is a practice where software is automatically released to production anytime after being built to ensure it can be released. CD aims to detect bugs early, ensure seamless deployments, and give developers and users a good experience. Foundations of CD include configuration management, continuous integration, continuous testing, and ensuring the software can be deployed reliably to different environments. CD reduces cycle times, enables negligible downtime with frequent releases, and allows for immediate user feedback.

Uploaded by

Gee Games
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

Continuous Deployment

Continuous deployment (CD) is a practice where software is automatically released to production anytime after being built to ensure it can be released. CD aims to detect bugs early, ensure seamless deployments, and give developers and users a good experience. Foundations of CD include configuration management, continuous integration, continuous testing, and ensuring the software can be deployed reliably to different environments. CD reduces cycle times, enables negligible downtime with frequent releases, and allows for immediate user feedback.

Uploaded by

Gee Games
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

5/4/22, 5:11 PM OneNote

 
Friday, February 11, 2022  5:12 PM 

Continuous Deployment [CD] 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. 
 
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. 
 
Why CD?... 
○ 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. 
 
We need to practice Continuous Delivery in order to do Continuous
Deployment but the reverse is not mandated. 
 
Foundations of CD: 
○ Configuration Management: It is the practice where every artifact
from source code to build executables, test scripts, deployment
scripts, and environment configuration details are stored, uniquely
identified, retrieved, and modified when needed. It is often used as
a synonym for version control. 
Configuration management enables Reproducibility and
Traceability. 
Environment Configuration  
 
An environment is the: 
▪ Set of resources needed for an application to work. 
▪ Configuration of those resources. 
 
Attributes that describe an environment are: 
▪ Hardware configuration (amount of memory, the number, type
of CPUs and so on). 
▪ Network infrastructure 
▪ Operating environment 

https://onedrive.live.com/redir?resid=5CCFA3A4ECF95C8B%216526&page=Edit&wd=target%28Quick Notes.one%7Cee65fe7c-9ff7-415e-b510-… 1/3


5/4/22, 5:11 PM OneNote

▪ Middleware configuration (software such as database servers,


messaging systems, application and web servers). 
 
Integrating Environment Configuration 
Environment configuration details can be integrated at: 
▪ Build time: Build scripts pulls the details and integrates with
the build deliverables. 
▪ Package creation 
▪ Deployment time: As part of the installation, deployment
scripts will fetch and pass the required details to the
application. 
▪ Design the application to pull the details during the run time or
start up. 
Avoid integrating configuration during build or packaging time. If
included at this stage: 
• Same executables cannot be deployed to all environments. 
• Tested and released software may not be the same. 
Supply configuration information for different environments using
the same source or mechanism. 
• Only one source to be changed, managed and controlled. 
• Use registry settings, configuration files, database or an
external configuration server like SOAP, REST interface, etc. 
○ Continuous Integration 
○  Continuous Testing 
Alpha & Beta testing: Improves usability of the end product. 
  
Alpha: Testing is done in development environment. 
  
Beta: Testing is done in customer environment. 
  
Contract Acceptance testing : Testing is done to ensure criteria and
specifications agreed in the contract are met. 
 
 
 
 
Types of AT... 
Regulation Acceptance testing: Tests if the software complies with the
regulations. 
  
Operational Acceptance testing: Tests the operational readiness of the
application (such as security, backup, and recovery tests). 

https://onedrive.live.com/redir?resid=5CCFA3A4ECF95C8B%216526&page=Edit&wd=target%28Quick Notes.one%7Cee65fe7c-9ff7-415e-b510-… 2/3


5/4/22, 5:11 PM OneNote

https://onedrive.live.com/redir?resid=5CCFA3A4ECF95C8B%216526&page=Edit&wd=target%28Quick Notes.one%7Cee65fe7c-9ff7-415e-b510-… 3/3

You might also like