diff --git a/Jenkinsfile b/Jenkinsfile
index dda86ae..85e99ab 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -1,27 +1,30 @@
-pipeline {
-	agent any
-	stages {
-		stage("Build") {
-			agent {
-				dockerfile true
-			}
-			steps {
-				sh 'make NOT_DEVELOPER_BUILD=TRUE -j16 package'
-				stash name: "deb-files", includes: ".build/*.deb"
-			}
-		}
-		stage("Repo Component") {
-			steps {
-				unstash "deb-files"
-				sh '''
-					mkdir -p pool/UI
-					mv .build/*.deb pool/UI/
-					mkdir -p dists/$RELEASE/UI/binary-amd64
-					apt-ftparchive packages pool/UI > dists/$RELEASE/UI/binary-amd64/Packages
-					gzip -9fk dists/$RELEASE/UI/binary-amd64/Packages
-					'''
-				archiveArtifacts artifacts: "dists/**,pool/UI/*.deb"
-			}
-		}
-	}
+properties([
+    parameters([
+        string(defaultValue: env.BRANCH_NAME, description: '', name: 'GERRIT_BRANCH'),
+        string(defaultValue: 'osm/UI', description: '', name: 'GERRIT_PROJECT'),
+        string(defaultValue: env.GERRIT_REFSPEC, description: '', name: 'GERRIT_REFSPEC'),
+        string(defaultValue: env.GERRIT_PATCHSET_REVISION, description: '', name: 'GERRIT_PATCHSET_REVISION'),
+        string(defaultValue: 'https://osm.etsi.org/gerrit', description: '', name: 'PROJECT_URL_PREFIX'),
+        booleanParam(defaultValue: true, description: '', name: 'BUILD_SYSTEM'),
+    ])
+])
+
+def devops_checkout() {
+    dir('devops') {
+        git url: "${PROJECT_URL_PREFIX}/osm/devops"
+    }
+}
+
+node {
+    checkout scm
+    devops_checkout()
+
+    ci_helper = load "devops/jenkins/ci-pipelines/ci_stage_2.groovy"
+    ci_helper.ci_pipeline( 'UI',
+                           params.PROJECT_URL_PREFIX,
+                           params.GERRIT_PROJECT,
+                           params.GERRIT_BRANCH,
+                           params.GERRIT_REFSPEC,
+                           params.GERRIT_PATCHSET_REVISION,
+                           params.BUILD_SYSTEM)
 }
diff --git a/devops-stages/stage-archive.sh b/devops-stages/stage-archive.sh
new file mode 100755
index 0000000..fd1f877
--- /dev/null
+++ b/devops-stages/stage-archive.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+rm -rf pool
+rm -rf dists
+mkdir -p pool/UI
+mv .build/*.deb pool/UI/
+mkdir -p dists/unstable/UI/binary-amd64/
+apt-ftparchive packages pool/UI > dists/unstable/UI/binary-amd64/Packages
+gzip -9fk dists/unstable/UI/binary-amd64/Packages
diff --git a/devops-stages/stage-build.sh b/devops-stages/stage-build.sh
new file mode 100755
index 0000000..4354ee1
--- /dev/null
+++ b/devops-stages/stage-build.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+rm -rf .build
+make NOT_DEVELOPER_BUILD=TRUE -j16 package
+
diff --git a/devops-stages/stage-test.sh b/devops-stages/stage-test.sh
new file mode 100755
index 0000000..49296c7
--- /dev/null
+++ b/devops-stages/stage-test.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+echo "UNITTEST"
