Continuous Deployment

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

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