Browse Source

Jenkinsfile development

wadim 7 years ago
parent
commit
2badf3fb64
1 changed files with 17 additions and 16 deletions
  1. 17 16
      Jenkinsfile

+ 17 - 16
Jenkinsfile

@@ -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}"
     }
   }
 }