add common ci-pipeline code

Signed-off-by: Mike Marchetti <mmarchetti@sandvine.com>
Change-Id:      I03d2573e7ba670a34c0c7ee08b566994905e5f88
diff --git a/Dockerfile b/Dockerfile
index 82c3ca9..254027c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,7 +1,7 @@
 FROM ubuntu:16.04
 
 RUN  apt-get update && \
-  DEBIAN_FRONTEND=noninteractive apt-get -y install git build-essential && \
+  DEBIAN_FRONTEND=noninteractive apt-get -y install git build-essential apt-utils && \
   DEBIAN_FRONTEND=noninteractive apt-get -y install python python-dev python-all python-stdeb fakeroot pypi2deb && \
   DEBIAN_FRONTEND=noninteractive apt-get -y install python-pip libmysqlclient-dev libssl-dev libffi-dev && \
   DEBIAN_FRONTEND=noninteractive pip install --upgrade pip && \
diff --git a/Jenkinsfile b/Jenkinsfile
index 13a85d0..bc6c2d0 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -1,36 +1,30 @@
-pipeline {
-	agent any
-	stages {
-		stage("Build") {
-			agent {
-				dockerfile true
-			}
-			steps {
-				sh 'make package'
-				stash name: "deb-files", includes: ".build/*.deb"
-			}
-		}
-		stage("Unittest") {
-			agent {
-				dockerfile true
-			}
-			steps {
-				sh 'echo "UNITTEST"'
-			}
-		}
-		stage("Repo Component") {
-			agent any
-			steps {
-				unstash "deb-files"
-				sh '''
-					mkdir -p pool/RO
-					mv .build/*.deb pool/RO/
-					mkdir -p dists/ReleaseOne/unstable/RO/binary-amd64/
-					apt-ftparchive packages pool/RO > dists/ReleaseOne/unstable/RO/binary-amd64/Packages
-					gzip -9fk dists/ReleaseOne/unstable/RO/binary-amd64/Packages
-					'''
-				archiveArtifacts artifacts: "dists/**,pool/RO/*.deb"
-			}
-		}
-	}
+properties([
+    parameters([
+        string(defaultValue: env.BRANCH_NAME, description: '', name: 'GERRIT_BRANCH'),
+        string(defaultValue: 'osm/RO', 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: false, description: '', name: 'TEST_INSTALL'),
+    ])
+])
+
+def devops_checkout() {
+    dir('devops') {
+        git url: "${PROJECT_URL_PREFIX}/osm/devops", branch: params.GERRIT_BRANCH
+    }
+}
+
+node {
+    checkout scm
+    devops_checkout()
+
+    ci_helper = load "devops/jenkins/ci-pipelines/ci_stage_2.groovy"
+    ci_helper.ci_pipeline( 'RO',
+                           params.PROJECT_URL_PREFIX,
+                           params.GERRIT_PROJECT,
+                           params.GERRIT_BRANCH,
+                           params.GERRIT_REFSPEC,
+                           params.GERRIT_PATCHSET_REVISION,
+                           params.TEST_INSTALL)
 }
diff --git a/devops-stages/stage-archive.sh b/devops-stages/stage-archive.sh
new file mode 100755
index 0000000..cc1cfc0
--- /dev/null
+++ b/devops-stages/stage-archive.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+rm -rf pool
+rm -rf dists
+mkdir -p pool/RO
+mv .build/*.deb pool/RO/
+mkdir -p dists/unstable/RO/binary-amd64/
+apt-ftparchive packages pool/RO > dists/unstable/RO/binary-amd64/Packages
+gzip -9fk dists/unstable/RO/binary-amd64/Packages
diff --git a/devops-stages/stage-build.sh b/devops-stages/stage-build.sh
new file mode 100755
index 0000000..8505499
--- /dev/null
+++ b/devops-stages/stage-build.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+make 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"