|
@@ -3,7 +3,6 @@ pipeline {
|
|
|
label "swarm"
|
|
|
}
|
|
|
environment {
|
|
|
- git_url=""
|
|
|
docker_registry='dev-registry.infoclinica.ru:5000'
|
|
|
docker_image='node'
|
|
|
}
|
|
@@ -18,6 +17,11 @@ pipeline {
|
|
|
defaultValue: "info_node info_node-api",
|
|
|
description: "Services to update - i.e. info_node or/and info_node-api."
|
|
|
)
|
|
|
+ string(
|
|
|
+ name: "mailto",
|
|
|
+ defaultValue: "surkov.v@sdsys.ru",
|
|
|
+ description: "Email which has to be notified."
|
|
|
+ )
|
|
|
}
|
|
|
stages {
|
|
|
stage("Build") {
|
|
@@ -33,41 +37,38 @@ pipeline {
|
|
|
stage("Update") {
|
|
|
when { expression { service_update != "" } }
|
|
|
steps {
|
|
|
- echo "Updating .$service_update."
|
|
|
script {
|
|
|
for (String item : service_update.split()) {
|
|
|
try{
|
|
|
echo "Updating $item"
|
|
|
- sh 'false'
|
|
|
+ sh "docker service update $item --image ${docker_registry}/${docker_image}:${repo}-${BUILD_NUMBER}"
|
|
|
}
|
|
|
catch(err){
|
|
|
echo "Recovering service $item"
|
|
|
+ sh "docker service rollback $item"
|
|
|
throw err
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- sh 'ls'
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
post {
|
|
|
always {
|
|
|
- echo "It's always good to be here."
|
|
|
- }
|
|
|
- changed {
|
|
|
- echo "Something changed..."
|
|
|
+ echo "CleaningUp work diretory"
|
|
|
+ deleteDir()
|
|
|
}
|
|
|
failure {
|
|
|
- echo "Oh, snap. It's failed again"
|
|
|
+ mail charset: 'UTF-8',
|
|
|
+ subject: "Jenkins build error: ${BUILD_URL}",
|
|
|
+ to: "${mailto}"
|
|
|
+ body: "<b>ATTENTION!!!</b> <b><br> Jenkins job failed !!!\n\n <b><br>Project Name:</b> ${env.JOB_NAME} <b><br>\nBuild Number:</b> ${env.BUILD_NUMBER} <b><br>\nStage Name:</b> Publish <b><br>\nURL Build:</b> ${env.BUILD_URL}"
|
|
|
}
|
|
|
success {
|
|
|
- echo "Fine !!! It's SUCCESS !!!"
|
|
|
- }
|
|
|
- unstable {
|
|
|
- echo "Unstable ...."
|
|
|
- }
|
|
|
- aborted {
|
|
|
- echo "Hmmm... It's aborted"
|
|
|
+ mail charset: 'UTF-8',
|
|
|
+ subject: "Jenkins build USCCESS: ${BUILD_URL}",
|
|
|
+ to: "${mailto}"
|
|
|
+ body: "<b>Congradulations!!!</b> <b><br> Jenkins job failed !!!\n\n <b><br>Project Name:</b> ${env.JOB_NAME} <b><br>\nBuild Number:</b> ${env.BUILD_NUMBER} <b><br>\nStage Name:</b> Publish <b><br>\nURL Build:</b> ${env.BUILD_URL}"
|
|
|
}
|
|
|
}
|
|
|
}
|