From 1b14cd88b9d5be27e3fcd2b35a4ff2ae0bbfe182 Mon Sep 17 00:00:00 2001 From: Mike Marchetti Date: Wed, 5 Jul 2017 12:03:21 -0400 Subject: [PATCH] add common ci-pipeline code Signed-off-by: Mike Marchetti Change-Id: I03d2573e7ba670a34c0c7ee08b566994905e5f88 --- Dockerfile | 2 +- Jenkinsfile | 64 +++++++++++++++------------------- devops-stages/stage-archive.sh | 8 +++++ devops-stages/stage-build.sh | 2 ++ devops-stages/stage-test.sh | 2 ++ 5 files changed, 42 insertions(+), 36 deletions(-) create mode 100755 devops-stages/stage-archive.sh create mode 100755 devops-stages/stage-build.sh create mode 100755 devops-stages/stage-test.sh diff --git a/Dockerfile b/Dockerfile index 82c3ca98..254027cf 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 13a85d03..bc6c2d0f 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 00000000..cc1cfc05 --- /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 00000000..85054995 --- /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 00000000..49296c71 --- /dev/null +++ b/devops-stages/stage-test.sh @@ -0,0 +1,2 @@ +#!/bin/sh +echo "UNITTEST" -- 2.17.1