diff --git a/Jenkinsfile-build b/Jenkinsfile-build
new file mode 100644
index 0000000..8b40536
--- /dev/null
+++ b/Jenkinsfile-build
@@ -0,0 +1,54 @@
+// Copyright 2017-present Open Networking Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+shortCommit = sh(returnStdout: true, script: "git log -n 1 --pretty=format:'%h'").trim()
+
+node ('qct-pod3-node2') {
+  timeout (time: 1200) {
+    try {
+        stage ('Get Latest Code') {
+            sh """
+                cd /home/cord/openolt
+                git pull
+                """
+            }
+        stage ('Clean Environment') {
+            sh """
+                cd /home/cord/openolt/agent
+                make OPENOLTDEVICE=asfvolt16 clean
+                """
+            }
+        stage ('Build OpenOLT Deb') {
+            sh """
+                cd /home/cord/openolt/agent
+                make OPENOLTDEVICE=asfvolt16 prereq
+                make OPENOLTDEVICE=asfvolt16
+                make OPENOLTDEVICE=asfvolt16 deb
+                """
+            }
+        stage ('Save Deb Record') {
+            sh """
+                cd /home/cord/openolt/agent/build
+                cp openolt.deb /home/cord/olt_builds/openolt-\$shortCommit.deb
+                """
+            }
+      currentBuild.result = 'SUCCESS'
+    } catch (err) {
+      currentBuild.result = 'FAILURE'
+      step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: "${notificationEmail}", sendToIndividuals: false])
+    } finally {
+      echo "RESULT: ${currentBuild.result}"
+    }
+  }
+}
diff --git a/Jenkinsfile.test b/Jenkinsfile.test
deleted file mode 100644
index 275fb35..0000000
--- a/Jenkinsfile.test
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2017-present Open Networking Foundation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-node ('openolt_deb_onf_agent') {
-  timeout (time: 240) {
-    try {
-      dir ('openolt') {
-        stage ('Pull latest code') {
-          sh returnStdout: true, script: 'git pull'
-        }
-        stage ('Copy over SDK, BAL, patch files and DEB generators') {
-          sh returnStdout: true, script: 'cp ../../build-files/SW-BCM68620_2_4_3_6.zip download'
-          sh returnStdout: true, script: 'cp ../../build-files/sdk-all-6.5.7.tar.gz download'
-          sh returnStdout: true, script: 'cp ../../build-files/ACCTON_BAL_2.4.3.6-V201710131639.patch download'
-          sh returnStdout: true, script: 'cp ../../build-files/OPENOLT_BAL_2.4.3.6.patch download'
-        }
-        stage ('Build packages and libraries') {
-          sh returnStdout: true, script: '/bin/bash -c ./configure && make DEVICE=asfvolt16'
-        }
-        stage ('Create Debian file') {
-          sh returnStdout: true, script: '/bin/bash -c "make DEVICE=asfvolt16 deb"'
-        }
-      }
-      currentBuild.result = 'SUCCESS'
-    } catch (err) {
-      currentBuild.result = 'FAILURE'
-      step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: "${notificationEmail}", sendToIndividuals: false])
-    } finally {
-      echo "RESULT: ${currentBuild.result}"
-    }
-  }
-}
