Continuous Deployment: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Internal=
=Internal=
=Continuous Delivery vs. Continuous Deployment=
* [[Continuous_Delivery#Overview|Continuous Delivery]]
{{Internal|https://Continuous_Delivery_vs_Continuous_Deployment|Continuous Delivery vs. Continuous Deployment}}
* [[Continuous Integration]]
 
=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|rollout strategies]].
 
=<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.
 
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_Concepts#Pipeline|Jenkins]]. Another is [[AWS_CodePipeline_Concepts#Pipeline|AWS CodePipeline]].
==<span id='Continuous_Delivery_for_Infrastructure_Code'></span>Infrastructure Delivery Pipeline==
{{Internal|Infrastructure_Code_Continuous_Delivery_Concepts#Infrastructure_Delivery_Pipeline|Infrastructure Delivery Pipelines}}
 
==Kinds of Deployment Pipelines==
Commit, Acceptance, UAT, Production.
 
=Rollout Strategies=
==Blue-Green Deployments==
Also known as "red/black".
{{Internal|Blue-Green Deployments#Overview|Blue-Green Deployments}}
 
==Canary Rollout==
==Dark Rollout==
==Highlander Rollout==
=Canary Release=
{{Internal|Canary Release|Canary Release}}

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