Canary deployments

Description

To reduce risk during a deploy, a common practice is to deploy new code to a (small) portion of the production fleet.

Provide canary template for .gitlab-ci.yml, update auto deploy template, handle/display simultaneous different versions in deployboard.

Proposal

  1. Augment .gitlab-ci.yml for auto-deploy to include a canary stage as an optional manual action
  2. Handle/display simultaneous different versions in deployboard
  3. Augment environment list and deployment histories to understand simultaneous different versions

Links / references

  • Depends on https://gitlab.com/gitlab-org/gitlab-ee/issues/1589
  • Alternative proposal: incremental rollout strategy
  • Pausing and Resuming a Deployment
  • Canary deployments
Assignee Loading
Time tracking Loading