Drop v prefix from docker image tags

This commit is contained in:
myrmidex 2025-07-14 21:24:18 +02:00
parent f02cace731
commit 9ef05f9f57

26
Jenkinsfile vendored
View file

@ -3,10 +3,12 @@ pipeline {
triggers { triggers {
GenericTrigger( GenericTrigger(
causeString: 'Triggered by push event', causeString: 'Triggered on tag push',
token: 'tag-trigger-secret', token: 'tag-trigger-secret',
printContributedVariables: true, printContributedVariables: true,
printPostContent: true, printPostContent: true,
regexpFilterExpression: 'ref=refs/tags/.*\nafter=(?!0{40}).*',
regexpFilterText: '$ref\n$after',
genericVariables: [ genericVariables: [
[key: 'ref', value: '$.ref'], [key: 'ref', value: '$.ref'],
[key: 'after', value: '$.after'] [key: 'after', value: '$.after']
@ -29,14 +31,6 @@ pipeline {
currentBuild.result = 'NOT_BUILT' currentBuild.result = 'NOT_BUILT'
return return
} }
if (env.after == null || env.after ==~ /^0{40}$/) {
echo "After SHA is null or zeroed (after = ${env.after}). Skipping build."
currentBuild.result = 'NOT_BUILT'
return
}
echo "Valid tag push detected: ${env.ref} (${env.after})"
} }
} }
} }
@ -44,23 +38,21 @@ pipeline {
stage('Build & Push Docker Image') { stage('Build & Push Docker Image') {
when { when {
expression { expression {
return env.ref?.startsWith('refs/tags/') && env.after !=~ /^0{40}$/ return env.ref?.startsWith('refs/tags/') && env.after != null && env.after != "0000000000000000000000000000000000000000"
} }
} }
steps { steps {
script { script {
def tagName = env.ref?.replaceFirst(/^refs\/tags\//, '') def tagName = env.ref.replaceFirst(/^refs\/tags\//, '')
echo "Building image for tag: ${tagName}" def cleanedTag = tagName.replaceFirst(/^v/, '')
// Build both the tag and latest sh "docker build -t $IMAGE_NAME:$cleanedTag -f docker/Dockerfile ."
sh """
docker build -t $IMAGE_NAME:${tagName} -t $IMAGE_NAME:latest -f docker/Dockerfile .
"""
withCredentials([usernamePassword(credentialsId: "$DOCKER_CREDENTIALS_ID", usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) { withCredentials([usernamePassword(credentialsId: "$DOCKER_CREDENTIALS_ID", usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
sh """ sh """
echo "$PASSWORD" | docker login $REGISTRY -u "$USERNAME" --password-stdin echo "$PASSWORD" | docker login $REGISTRY -u "$USERNAME" --password-stdin
docker push $IMAGE_NAME:${tagName} docker push $IMAGE_NAME:$cleanedTag
docker tag $IMAGE_NAME:$cleanedTag $IMAGE_NAME:latest
docker push $IMAGE_NAME:latest docker push $IMAGE_NAME:latest
""" """
} }