From fc7d15f2b7c3df45ef29a61f2da916549f26f82b Mon Sep 17 00:00:00 2001
From: Tucker Siegel <tgsiegel@terpmail.umd.edu>
Date: Tue, 11 Oct 2022 14:32:27 -0400
Subject: [PATCH] fix

---
 crop-progress-tool/dev        |  1 -
 crop-progress-tool/staging    |  1 -
 dawn-analytics/dev            | 46 +++++++++++++++++++++++++++++++-
 dawn-analytics/staging        | 50 ++++++++++++++++++++++++++++++++++-
 vars/upgradeKubernetes.groovy |  7 +++++
 5 files changed, 101 insertions(+), 4 deletions(-)
 delete mode 100644 crop-progress-tool/dev
 delete mode 100644 crop-progress-tool/staging
 create mode 100644 vars/upgradeKubernetes.groovy

diff --git a/crop-progress-tool/dev b/crop-progress-tool/dev
deleted file mode 100644
index eba0c54..0000000
--- a/crop-progress-tool/dev
+++ /dev/null
@@ -1 +0,0 @@
-backendDevServicePipeline "crop-progress"
\ No newline at end of file
diff --git a/crop-progress-tool/staging b/crop-progress-tool/staging
deleted file mode 100644
index 737b5cc..0000000
--- a/crop-progress-tool/staging
+++ /dev/null
@@ -1 +0,0 @@
-backendStagingServicePipeline "https://gitlab.cs.umd.edu/dawn/dawn-crop-progress.git", "staging", "crop-progress"
\ No newline at end of file
diff --git a/dawn-analytics/dev b/dawn-analytics/dev
index 8d70ef1..4a3fa9c 100644
--- a/dawn-analytics/dev
+++ b/dawn-analytics/dev
@@ -1 +1,45 @@
-backendDevServicePipeline "dawn-analytics"
\ No newline at end of file
+pipeline {
+    agent { label 'node2' }
+    tools { nodejs 'node' }
+    stages {
+        stage('notify') {
+            steps {
+                script {
+                    slack_send_start()
+                }
+            }
+        }
+
+        stage('build') {
+            steps {
+                git branch: 'main',
+                credentialsId: 'tucker-gitlab-login',
+                url: 'https://gitlab.cs.umd.edu/dawn/go-backend/dawn-analytics.git'
+
+                sh '''
+                sudo docker build -t docker.registry.dawn.int:5000/dawn/dawn-analytics:latest . -f Dockerfile
+                sudo docker push docker.registry.dawn.int:5000/dawn/dawn-analytics:latest
+            '''
+            }
+        }
+
+        stage('deploy') {
+            steps {
+                upgradeKubernetes('dawn-analytics', 'staging')
+            }
+        }
+    }
+
+    post {
+        success {
+            script {
+                slack_send_success()
+            }
+        }
+        failure {
+            script {
+                slack_send_failure()
+            }
+        }
+    }
+}
diff --git a/dawn-analytics/staging b/dawn-analytics/staging
index d869737..0486970 100644
--- a/dawn-analytics/staging
+++ b/dawn-analytics/staging
@@ -1 +1,49 @@
-backendStagingServicePipeline "https://gitlab.cs.umd.edu/dawn/go-backend/dawn-analytics.git", "staging", "dawn-analytics"
\ No newline at end of file
+pipeline {
+    agent { label 'node2' }
+    tools { nodejs 'node' }
+    stages {
+        stage('notify') {
+            steps {
+                script {
+                    slack_send_start()
+                }
+            }
+        }
+
+        stage('build') {
+            steps {
+                git branch: 'main',
+                credentialsId: 'tucker-gitlab-login',
+                url: 'https://gitlab.cs.umd.edu/dawn/go-backend/dawn-analytics.git'
+
+                sh '''
+                sudo docker build -t docker.registry.dawn.int:5000/dawn/dawn-analytics:latest . -f Dockerfile
+                sudo docker push docker.registry.dawn.int:5000/dawn/dawn-analytics:latest
+            '''
+            }
+        }
+
+        stage('deploy') {
+            steps {
+                dir('/home/kube/staging') {
+                    sh 'git pull'
+                    sh 'kubectl delete -f dawn-analytics'
+                    sh 'kubectl apply -f dawn-analytics'
+                }
+            }
+        }
+    }
+
+    post {
+        success {
+            script {
+                slack_send_success()
+            }
+        }
+        failure {
+            script {
+                slack_send_failure()
+            }
+        }
+    }
+}
diff --git a/vars/upgradeKubernetes.groovy b/vars/upgradeKubernetes.groovy
new file mode 100644
index 0000000..12bd629
--- /dev/null
+++ b/vars/upgradeKubernetes.groovy
@@ -0,0 +1,7 @@
+def call(String serviceName, String serviceEnv) {
+    dir('/home/kube/' + serviceEnv) {
+        sh 'git pull'
+        sh 'kubectl delete -f ' + serviceName
+        sh 'kubectl apply -f ' + serviceName
+    }
+}
-- 
GitLab