Drop v prefix from docker image tags
This commit is contained in:
parent
f02cace731
commit
9ef05f9f57
1 changed files with 9 additions and 17 deletions
26
Jenkinsfile
vendored
26
Jenkinsfile
vendored
|
|
@ -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
|
||||||
"""
|
"""
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue