Continuous Deployment: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 3: Line 3:
* [[Continuous Integration]]
* [[Continuous Integration]]


=Continuous Delivery vs. Continuous Deployment=
{{Internal|Continuous_Delivery_vs_Continuous_Deployment|Continuous Delivery vs. Continuous Deployment}}
=Overview=
=Overview=


Line 12: Line 10:
* Manual functional test
* Manual functional test
* Testing of non-functional requirements
* Testing of non-functional requirements


The target environments include Test, Stage and Prod.
The target environments include Test, Stage and Prod.


This is the avenue of various [[#Rollout_Strategies|rollout strategies]].
This is the avenue of various [[#Rollout_Strategies|rollout strategies]].
=Continuous Deployment Pipeline=
 
=<span id='Continuous_Deployment_Pipeline'></span>Deployment Pipeline=


A '''continuous deployment pipeline''' is the automated expression of the process for getting software from version control through building, testing and deployment to the end users, in production.  
A '''continuous deployment pipeline''' is the automated expression of the process for getting software from version control through building, testing and deployment to the end users, in production.  

Latest revision as of 00:05, 7 April 2022

Internal

Overview

  • Deployment of artifacts and configuration in a target environment
  • Automated integration tests
  • Automated functional tests
  • Manual functional test
  • Testing of non-functional requirements

The target environments include Test, Stage and Prod.

This is the avenue of various rollout strategies.

Deployment Pipeline

A continuous deployment pipeline is the automated expression of the process for getting software from version control through building, testing and deployment to the end users, in production.

Every change to the software being built, committed in source control, goest through a complex process on its way of being released. This process involves building the software in a reliable and repeatable manner, as well as progressing the built software (called the "build") through multiple stages of testing and deployment.

One tool that provides continuous delivery pipeline functionality is Jenkins. Another is AWS CodePipeline.

Infrastructure Delivery Pipeline

Infrastructure Delivery Pipelines

Kinds of Deployment Pipelines

Commit, Acceptance, UAT, Production.

Rollout Strategies

Blue-Green Deployments

Also known as "red/black".

Blue-Green Deployments

Canary Rollout

Dark Rollout

Highlander Rollout

Canary Release

Canary Release