From 44e08dd1fff928ef6dc6812dda0c2a15b7d938ee Mon Sep 17 00:00:00 2001
From: Mason Packard <mason.packard@yahoo.com>
Date: Fri, 12 Aug 2016 15:12:16 -0400
Subject: [PATCH 1/5] Setup Jenkinsfile for pipeline.

---
 Jenkinsfile | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)
 create mode 100644 Jenkinsfile

diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..bf2945d
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,69 @@
+node {
+
+  stage 'Checkout'
+
+    checkout scm
+
+  stage 'Acquire util'
+
+    sh 'mkdir -p bin'
+    dir('bin'){
+      git([ url: "https://github.internet2.edu/docker/util.git",
+          credentialsId: "jenkins-github-access-token" ])
+      sh 'ls'
+      sh 'mv bin/* .'
+    }
+
+  stage 'Build'
+    try{
+      def maintainer = maintainer()
+      def imagename = imagename()
+      def tag = env.BRANCH_NAME
+      if(!imagename){
+        echo "You must define an imagename in common.bash"
+        currentBuild.result = 'FAILURE'
+      }
+      if(maintainer){
+        echo "Building ${maintainer}:${tag} for ${maintainer}"
+      }
+
+      sh 'bin/build.sh &> debug'
+    } catch(error) {
+      def error_details = readFile('./debug');
+      def message = "BUILD ERROR: There was a problem building the Base Image. \n\n ${error_details}"
+      sh "rm -f ./debug"
+      handleError(message)
+    }
+  stage 'Tests'
+
+    sh 'bin/test.sh'
+
+  stage 'Push'
+
+    docker.withRegistry('https://registry.hub.docker.com/',   "dockerhub-$maintainer") {
+          def baseImg = docker.build("$maintainer/$imagename")
+          baseImg.push("$tag")
+    }
+
+
+}
+
+def maintainer() {
+  def matcher = readFile('common.bash') =~ 'maintainer="(.+)"'
+  matcher ? matcher[0][1] : 'tier'
+}
+
+def imagename() {
+  def matcher = readFile('common.bash') =~ 'imagename="(.+)"'
+  matcher ? matcher[0][1] : null
+}
+
+def handleError(String message){
+  echo "${message}"
+  currentBuild.setResult("FAILED")
+  slackSend color: 'danger', message: "${message}"
+  withCredentials([[$class: 'FileBinding', credentialsId: 'email-error-id', variable: 'EMAIL']]) {
+    step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: 'EMAIL', sendToIndividuals: true])
+  }
+  sh 'exit 1'
+}

From b66f0918ad3febd5f6325c9b3314f6c8d6e58b37 Mon Sep 17 00:00:00 2001
From: Mason Packard <mason.packard@yahoo.com>
Date: Fri, 12 Aug 2016 16:00:13 -0400
Subject: [PATCH 2/5] Syntax adjustment

---
 Jenkinsfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index bf2945d..899da48 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -27,7 +27,7 @@ node {
         echo "Building ${maintainer}:${tag} for ${maintainer}"
       }
 
-      sh 'bin/build.sh &> debug'
+      sh 'bin/build.sh > debug'
     } catch(error) {
       def error_details = readFile('./debug');
       def message = "BUILD ERROR: There was a problem building the Base Image. \n\n ${error_details}"

From 7f3c8224b9bf6ef3fbfb9e8b063108b8d521c891 Mon Sep 17 00:00:00 2001
From: Mason Packard <mason.packard@yahoo.com>
Date: Fri, 12 Aug 2016 16:10:28 -0400
Subject: [PATCH 3/5] Syntax change

---
 Jenkinsfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index 899da48..bf2945d 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -27,7 +27,7 @@ node {
         echo "Building ${maintainer}:${tag} for ${maintainer}"
       }
 
-      sh 'bin/build.sh > debug'
+      sh 'bin/build.sh &> debug'
     } catch(error) {
       def error_details = readFile('./debug');
       def message = "BUILD ERROR: There was a problem building the Base Image. \n\n ${error_details}"

From 94498596143809670af6d1efa80767793f1adb20 Mon Sep 17 00:00:00 2001
From: Mason Packard <mason.packard@yahoo.com>
Date: Fri, 12 Aug 2016 16:25:11 -0400
Subject: [PATCH 4/5] Change format of mailer for error handling in jenkins
 pipeline.

---
 Jenkinsfile | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index bf2945d..ed94faa 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -62,8 +62,6 @@ def handleError(String message){
   echo "${message}"
   currentBuild.setResult("FAILED")
   slackSend color: 'danger', message: "${message}"
-  withCredentials([[$class: 'FileBinding', credentialsId: 'email-error-id', variable: 'EMAIL']]) {
-    step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: 'EMAIL', sendToIndividuals: true])
-  }
+  step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: "$email-error-id", sendToIndividuals: true])
   sh 'exit 1'
 }

From 084b6b716e59aee232514cfa16e2c3ceabbaec0b Mon Sep 17 00:00:00 2001
From: Mason Packard <mason.packard@yahoo.com>
Date: Fri, 12 Aug 2016 16:39:19 -0400
Subject: [PATCH 5/5] Add information to the sample and remove the Jenkinsfile.

---
 Jenkinsfile        | 67 ----------------------------------------------
 Jenkinsfile.sample | 55 ++++++++++++++++++++++---------------
 2 files changed, 34 insertions(+), 88 deletions(-)
 delete mode 100644 Jenkinsfile

diff --git a/Jenkinsfile b/Jenkinsfile
deleted file mode 100644
index ed94faa..0000000
--- a/Jenkinsfile
+++ /dev/null
@@ -1,67 +0,0 @@
-node {
-
-  stage 'Checkout'
-
-    checkout scm
-
-  stage 'Acquire util'
-
-    sh 'mkdir -p bin'
-    dir('bin'){
-      git([ url: "https://github.internet2.edu/docker/util.git",
-          credentialsId: "jenkins-github-access-token" ])
-      sh 'ls'
-      sh 'mv bin/* .'
-    }
-
-  stage 'Build'
-    try{
-      def maintainer = maintainer()
-      def imagename = imagename()
-      def tag = env.BRANCH_NAME
-      if(!imagename){
-        echo "You must define an imagename in common.bash"
-        currentBuild.result = 'FAILURE'
-      }
-      if(maintainer){
-        echo "Building ${maintainer}:${tag} for ${maintainer}"
-      }
-
-      sh 'bin/build.sh &> debug'
-    } catch(error) {
-      def error_details = readFile('./debug');
-      def message = "BUILD ERROR: There was a problem building the Base Image. \n\n ${error_details}"
-      sh "rm -f ./debug"
-      handleError(message)
-    }
-  stage 'Tests'
-
-    sh 'bin/test.sh'
-
-  stage 'Push'
-
-    docker.withRegistry('https://registry.hub.docker.com/',   "dockerhub-$maintainer") {
-          def baseImg = docker.build("$maintainer/$imagename")
-          baseImg.push("$tag")
-    }
-
-
-}
-
-def maintainer() {
-  def matcher = readFile('common.bash') =~ 'maintainer="(.+)"'
-  matcher ? matcher[0][1] : 'tier'
-}
-
-def imagename() {
-  def matcher = readFile('common.bash') =~ 'imagename="(.+)"'
-  matcher ? matcher[0][1] : null
-}
-
-def handleError(String message){
-  echo "${message}"
-  currentBuild.setResult("FAILED")
-  slackSend color: 'danger', message: "${message}"
-  step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: "$email-error-id", sendToIndividuals: true])
-  sh 'exit 1'
-}
diff --git a/Jenkinsfile.sample b/Jenkinsfile.sample
index fbb9f16..ed94faa 100644
--- a/Jenkinsfile.sample
+++ b/Jenkinsfile.sample
@@ -3,9 +3,9 @@ node {
   stage 'Checkout'
 
     checkout scm
-    
+
   stage 'Acquire util'
-    
+
     sh 'mkdir -p bin'
     dir('bin'){
       git([ url: "https://github.internet2.edu/docker/util.git",
@@ -13,33 +13,38 @@ node {
       sh 'ls'
       sh 'mv bin/* .'
     }
-    
+
   stage 'Build'
-    
-    def maintainer = maintainer()
-    def imagename = imagename()
-    def tag = env.BRANCH_NAME
-    if(!imagename){
-      echo "You must define an imagename in common.bash"
-      currentBuild.result = 'FAILURE'
-    }
-    if(maintainer){
-      echo "Building ${maintainer}:${tag} for ${maintainer}"
+    try{
+      def maintainer = maintainer()
+      def imagename = imagename()
+      def tag = env.BRANCH_NAME
+      if(!imagename){
+        echo "You must define an imagename in common.bash"
+        currentBuild.result = 'FAILURE'
+      }
+      if(maintainer){
+        echo "Building ${maintainer}:${tag} for ${maintainer}"
+      }
+
+      sh 'bin/build.sh &> debug'
+    } catch(error) {
+      def error_details = readFile('./debug');
+      def message = "BUILD ERROR: There was a problem building the Base Image. \n\n ${error_details}"
+      sh "rm -f ./debug"
+      handleError(message)
     }
-    
-    sh 'bin/build.sh'
-    
   stage 'Tests'
-  
+
     sh 'bin/test.sh'
-    
+
   stage 'Push'
-  
+
     docker.withRegistry('https://registry.hub.docker.com/',   "dockerhub-$maintainer") {
           def baseImg = docker.build("$maintainer/$imagename")
           baseImg.push("$tag")
     }
-    
+
 
 }
 
@@ -51,4 +56,12 @@ def maintainer() {
 def imagename() {
   def matcher = readFile('common.bash') =~ 'imagename="(.+)"'
   matcher ? matcher[0][1] : null
-}
\ No newline at end of file
+}
+
+def handleError(String message){
+  echo "${message}"
+  currentBuild.setResult("FAILED")
+  slackSend color: 'danger', message: "${message}"
+  step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: "$email-error-id", sendToIndividuals: true])
+  sh 'exit 1'
+}