From d4fc454a7829aaa983e1afca62f66feb09494490 Mon Sep 17 00:00:00 2001
From: Chris Pomeroy <chris.pomeroy@hotmail.com>
Date: Sun, 11 Oct 2020 04:33:21 +0000
Subject: [PATCH] Added discord notifications to the builds

---
 Jenkinsfile |   55 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 45 insertions(+), 10 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index 827045d..6c6e590 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -1,24 +1,59 @@
 node('pi-docker-agent') {
     def customImage
+    def discordUrl = "https://discordapp.com/api/webhooks/764667082272145418/vorf2JdFG47WAmQP3yZhgHH12wW_qUXG0bS0SG8INLYVwU0HcDFajq9doaDgi_hnI00-"
     def BUILDDATE = sh(script: "echo `date --rfc-3339=date`", returnStdout: true).trim()
 
     stage ('Checkout source'){
         checkout scm
     }
     
-    stage ('Build image'){    
-        //Build the image
-        customImage = docker.build("jenkins:${BUILDDATE}-build-${env.BUILD_ID}")
-    }
-    stage('Test Image'){
-        customImage.inside {
-            sh 'curl -s -o /dev/null -w "%{http_code}" localhost:8080/login'
+    stage ('Build image'){
+        steps {    
+            //Build the image
+            customImage = docker.build("jenkins:${BUILDDATE}-build-${env.BUILD_ID}")
+        }
+        post {
+            failure {
+                discordSend description:" Building image failed ", footer: "Jenkins docker image", link: "${env.BUILD_URL}", title: "${JOB_NAME}", result: "${currentBuild.currentResult}", webhookURL: "${discordUrl}"
+            }
         }
     }
+    // stage('Test Image'){
+    //     options 
+    //     customImage.inside {
+    //         sh 'curl -s -o /dev/null -w "%{http_code}" localhost:8080/login'
+    //     }
+    // }
     stage('Push Image'){
-        docker.withRegistry('https://dev-reg.darkurthe.net'){
-            customImage.push()
-            customImage.push("latest")
+        steps {
+            docker.withRegistry('https://dev-reg.darkurthe.net'){
+                customImage.push()
+                customImage.push("latest")
+            }
+        }
+        post {
+            failure {
+                discordSend description: " Pushing image failed ", footer: "Jenkins docker image", link: "${env.BUILD_URL}", title: "${JOB_NAME}", result: "${currentBuild.currentResult}", webhookURL: "${discordUrl}"
+            }
+        }
+    }
+
+    stage('Deploy Image'){
+        steps {
+            sh "docker service update --force --image dev-reg.darkurthe.net/jenkins:${BUILDDATE}-build-${env.BUILD_ID}"
+        }
+        post {
+            failure {
+                discordSend description: " Deploying image failed ", footer: "Jenkins docker image", link: "${env.BUILD_URL}", title: "${JOB_NAME}", result: "${currentBuild.currentResult}", webhookURL: "${discordUrl}"
+            }
+        }
+    }
+    post {
+        success {
+            discordSend description: " New Jenkins image has been deployed ", footer: "Jenkins docker image", link: "${env.BUILD_URL}", title: "${JOB_NAME}", result: "${currentBuild.currentResult}", webhookURL: "${discordUrl}"       
+        }
+        unsuccessful{
+            discordSend description: " There was a problem with the Jenkins docker image.\nPlease review the build", footer: "Jenkins docker image", link: "${env.BUILD_URL}", title: "${JOB_NAME}", result: "${currentBuild.currentResult}", webhookURL: "${discordUrl}"
         }
     }
 }

--
Gitblit v1.10.0