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"