diff --git a/deploy/staging b/deploy/staging
new file mode 100644
index 0000000000000000000000000000000000000000..2d842647517e5f132b02bf51b0a916d2a5e4a06f
--- /dev/null
+++ b/deploy/staging
@@ -0,0 +1,47 @@
+pipeline {
+  agent any
+  tools {
+        go 'go-1.16'
+  }
+        steps {
+            git branch: 'staging',
+                credentialsId: 'tucker-gitlab-login',
+                url: 'https://gitlab.cs.umd.edu/dawn/go-backend/dawn-user.git'
+
+            sh "ls -lat"
+        }
+  stages {
+      
+    stage('build new dawn-cli') {
+        git branch: 'main',
+            credentialsId: 'tucker-gitlab-login',
+            url: 'https://gitlab.cs.umd.edu/dawn/go-backend/dawn-cli/-/tree/main'
+
+        sh """
+            cd dawn-cli
+            go build 
+            cp dawn-cli /home/tucker.siegel/bin/dawn-cli
+            cd ..
+        """
+    }
+
+    stage('teardown') {
+        sh """
+            /home/tucker.siegel/bin/dawn-cli teardown
+        """
+    }
+     
+    stage('cleanup old images') {
+      steps {
+        sh """
+            docker rmi $(docker images | grep 'dawn-gateway-dev')
+            docker rmi $(docker images | grep 'dawn-user-dev')
+            docker rmi $(docker images | grep 'dawn-gdd-dev')
+            docker rmi $(docker images | grep 'crop-progress-tool-dev')
+        """ 
+      }
+    }
+
+   
+  }
+}
\ No newline at end of file