40 lines
1.5 KiB
Groovy
40 lines
1.5 KiB
Groovy
project = "alpine"
|
|
repo = "zknt"
|
|
version = "3.12.0"
|
|
registry = "reg.zknt.org"
|
|
registry_credentials = "6ff44976-23cd-4cc2-902c-de8c340e65e5"
|
|
|
|
pipeline {
|
|
agent any
|
|
stages {
|
|
stage('Build image') {
|
|
steps {
|
|
withDockerRegistry([ credentialsId: registry_credentials, url: "https://"+registry ]) {
|
|
echo 'Starting to build docker image'
|
|
script {
|
|
def customImage = docker.build(registry+'/'+repo+'/'+project, "--build-arg VERSION=$version .")
|
|
customImage.push(version)
|
|
customImage.push(version.split(/\./)[0,1].join('.'))
|
|
customImage.push(version.split(/\./)[0])
|
|
customImage.push("latest")
|
|
|
|
registry_credentials = "3deeee3d-6fce-4430-98dd-9b4db56f43f7"
|
|
withDockerRegistry([ credentialsId: registry_credentials ]) {
|
|
def official_image = repo+'/'+project+':'+version.split(/\./)[0,1].join('.')
|
|
sh "docker image tag " + registry+'/'+repo+'/'+project+':'+version + ' ' + official_image
|
|
sh "docker image tag " + registry+'/'+repo+'/'+project+':'+version + ' ' + official_image.split(/\:/)[0]
|
|
sh "docker push " + official_image
|
|
sh "docker push " + official_image.split(/\:/)[0]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
post {
|
|
always {
|
|
emailext body: 'build finished', subject: '[jenkins] docker '+project+': ' + currentBuild.result, to: 'cg@zknt.org', from: 'sysadm@zknt.org', attachLog: true
|
|
}
|
|
}
|
|
}
|