Basic Usage
To use GitVersion with Atlassian BitBucket Pipelines, you will need to install and run the GitVersion CLI tool in your build step.
Executing GitVersion
Using the GitVersion CLI tool
An example pipeline is shown below:
image: mcr.microsoft.com/dotnet/sdk:6.0
clone:
depth: full
pipelines:
default:
- step:
name: Version and build
script:
- export PATH="$PATH:/root/.dotnet/tools"
- dotnet tool install --global GitVersion.Tool --version 5.*
- dotnet-gitversion /buildserver
- source gitversion.properties
- echo Building with semver $GITVERSION_FULLSEMVER
- dotnet build
Important
You must set the clone:depth
setting as shown above;
without it, BitBucket Pipelines will perform a shallow clone,
which will cause GitVersion will display an error message.
When the action dotnet-gitversion /buildserver
is
executed, it will detect that it is running in BitBucket Pipelines
by the presence of the BITBUCKET_WORKSPACE
environment
variable, which is set by the BitBucket Pipelines engine. It will
generate a text file named gitversion.properties
which
contains all the output of the GitVersion tool, exported as
individual environment variables prefixed with
GITVERSION_
. These environment variables can then be
imported back into the build step using the
source gitversion.properties
action.
If you want to share the text file across multiple build steps, then you will need to save it as an artifact. A more complex example pipeline is shown below:
image: mcr.microsoft.com/dotnet/sdk:6.0
clone:
depth: full
pipelines:
default:
- step:
name: Version
script:
- export PATH="$PATH:/root/.dotnet/tools"
- dotnet tool install --global GitVersion.Tool --version 5.*
- dotnet-gitversion /buildserver
artifacts:
- gitversion.properties
- step:
name: Build
script:
- source gitversion.properties
- echo Building with semver $GITVERSION_FULLSEMVER
- dotnet build