Continuous Deployment is the process of checking into main, running all the tests and if everything goes green it is automatically pushed to production.
A good case for Continuous Deployment is when using Octopus deploy, as you cannot publish the same version of a package into the same feed.
For this mode we follow the logic in this blog post by Xavier Decoster on the issues of incrementing automatically.
As such we force a pre-release tag on all branches, this is fine for applications but can cause problems for libraries. As such this mode may or may not work for you, which leads us into a new mode in v4 of GitVersion: Mainline Development.
Usage
By default GitVersion is set up to do Continuous Deployment
versioning on the develop
branch, but for all other
branches,
Continuous Delivery
is the default mode. From version 3 of GitVersion this behavior is
configurable.
The default behavior for v3 and how v1 & 2 worked was that the
version only incremented after a tag, which signified a release. In
v3 you can simply switch the default mode in the
configuration
from ContinuousDelivery
to
ContinuousDeployment
and the version will then
increment each commit, giving you the features of GitVersion with
continuous deployment:
mode: ContinuousDeployment