Gitlab hero border pattern left svg Gitlab hero border pattern right svg

Category Direction - Advanced Deployments

Advanced Deployments

Advanced deployment techniques help teams control the deployment of new software versions as well as the rollout of new features to users. This includes the ability to release features to a limited audience, monitor the performance and behavior, and make a conscious decision whether to continue the rollout or if needed, to rollback.

Blue/green deploys

Create two (nearly) identical environments, arbitrarily called blue and green. One isn't better than the other, just separate. With all traffic going to green, load new code onto blue, get it ready, and then switch the router to suddenly, as quickly as possible, send all new traffic to blue.

Blue_Green

Recreate in place

This is a very simple deployment where all of the old pods are killed and replaced all at once with the new ones.

Canary

In a Canary Release, you start with all your machines/dockers/pods at 100% of the current deployment. When you are ready to try out your new deployment on a subset of your users, you send those user's traffic to the new deployment, while the others are still on the current one. The terms canary release and incremental release are very similar and often used interchangeably.

Canary

What's Next & Why

We are currently working on bug fixes and UX improvements. If there are specific issues that you are interested in, please upvote the issue and/or leave feedback on the issue itself.

Maturity Plan

This category is currently at the "Viable" maturity level, and our next maturity target is Complete (see our definitions of maturity levels).

Top Customer Issue(s)

Our most popular customer issue is gitlab#25629 which expands our deploy boards to support stateful sets as well in addition to deployment replica sets.

Top Vision Item(s)

Our top vision item is gitlab#226994 which introduces advanced deployments for non-Kubernetes users.

Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license