Summary
How do I get the name of the current git tag in an Azure Devops Pipeline YAML-file?
What Am I Trying to Do?
I am setting up a build pipeline in Azure Devops. The pipeline triggers when a new git tag is created. I then want to build docker images and tag them with the git tag's name.
My YAML pipeline looks something like this:
# Trigger on new tags.
trigger:
tags:
include:
- '*'
stages:
- stage: Build
jobs:
- job: Build
pool:
vmImage: 'ubuntu-latest'
steps:
- script: export VERSION_TAG={{ SOMEHOW GET THE VERSION TAG HERE?? }}
displayName: Set the git tag name as environment variable
- script: docker-compose -f k8s/docker-compose.yml build
displayName: 'Build docker containers'
- script: docker-compose -f k8s/docker-compose.yml push
displayName: 'Push docker containers'
And the docker-compose file I am referencing something like this:
version: '3'
services:
service1:
image: my.privaterepo.example/app/service1:${VERSION_TAG}
build:
[ ... REDACTED ]
service2:
image: my.privaterepo.example/app/service2:${VERSION_TAG}
build:
[ ... REDACTED ]
As you can see, the tag name in the docker-compose file is taken from the environment variable VERSION_TAG
. In the YAML pipeline, I am trying to set the environment variable VERSION_TAG
based on the current GIT tag. So... how do I get the name of the tag?
export VERSION_TAG=`git describe --tags`
. However, this doesn't work, for.... some unknown reason. – MW.