2021-09-29 07:40:51 +02:00
import groovy.json.*
import java.util.*
IMAGES_DIR = 'images'
GIT_CREDENTIALS_ID = 'debezium-github'
2023-03-29 09:34:59 +02:00
DOCKER_CREDENTIALS_ID = 'debezium-dockerhub'
2021-11-23 06:24:36 +01:00
QUAYIO_CREDENTIALS_ID = 'debezium-quay'
2021-09-29 07:40:51 +02:00
node ( 'Slave' ) {
2023-01-04 13:38:34 +01:00
catchError {
2021-09-29 07:40:51 +02:00
stage ( 'Initialize' ) {
dir ( '.' ) {
deleteDir ( )
}
checkout ( [ $class : 'GitSCM' ,
2022-10-18 14:53:03 +02:00
branches : [ [ name: params . IMAGES_BRANCH ] ] ,
2021-09-29 07:40:51 +02:00
doGenerateSubmoduleConfigurations: false ,
extensions : [ [ $class : 'RelativeTargetDirectory' , relativeTargetDir: IMAGES_DIR ] ] ,
submoduleCfg : [ ] ,
2022-10-18 14:53:03 +02:00
userRemoteConfigs : [ [ url: "https://$params.IMAGES_REPOSITORY" , credentialsId: GIT_CREDENTIALS_ID ] ]
2021-09-29 07:40:51 +02:00
]
)
2023-03-29 09:34:59 +02:00
withCredentials ( [ usernamePassword ( credentialsId: DOCKER_CREDENTIALS_ID , passwordVariable: 'DOCKER_PASSWORD' , usernameVariable: 'DOCKER_USERNAME' ) ] ) {
sh "" "
docker login - u $DOCKER_USERNAME - p $DOCKER_PASSWORD
"" "
}
2021-11-23 06:24:36 +01:00
withCredentials ( [ string ( credentialsId: QUAYIO_CREDENTIALS_ID , variable: 'USERNAME_PASSWORD' ) ] ) {
def credentials = USERNAME_PASSWORD . split ( ':' )
sh "" "
set + x
docker login - u $ { credentials [ 0 ] } - p $ { credentials [ 1 ] } quay . io
"" "
}
2021-09-29 07:40:51 +02:00
}
stage ( 'master' ) {
echo "Building debezium tool images"
dir ( IMAGES_DIR ) {
sh "PUSH_IMAGES=true TAG=$TAG ./build-tool-images.sh"
}
}
}
2023-01-04 13:38:34 +01:00
2023-01-04 13:54:58 +01:00
mail to: params . MAIL_TO , subject: "${env.JOB_NAME} run #${env.BUILD_NUMBER} finished with ${currentBuild.currentResult}" , body: "Run ${env.BUILD_URL} finished with result: ${currentBuild.currentResult}"
2021-09-29 07:40:51 +02:00
}