From: Mike Marchetti Date: Fri, 23 Jun 2017 17:07:51 +0000 (-0400) Subject: add jenkins common code X-Git-Tag: v2.0.2~1^2 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=2743476d62148f3712e0617328f3511e6c2dfad8;p=osm%2Fosmclient.git add jenkins common code Signed-off-by: Mike Marchetti --- diff --git a/Jenkinsfile b/Jenkinsfile index cfd7a25..3c4f3d7 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,46 +1,30 @@ -pipeline { - agent { - dockerfile { - } - } - stages { - stage("Checkout") { - steps { - checkout scm - sh ''' - groupadd -o -g $(id -g) -r jenkins - useradd -o -u $(id -u) --create-home -r -g jenkins jenkins - ''' - } - } - stage("Test") { - steps { - sh 'tox' - } - } - stage("Build") { - steps { - sh ''' - rm -rf deb_dist - tox -e build - ''' - stash name: "deb-files", includes: "deb_dist/*.deb" - } - } - stage("Repo Component") { - steps { - unstash "deb-files" - sh ''' - rm -rf pool - rm -rf dists - mkdir -p pool/osmclient - mv deb_dist/*.deb pool/osmclient/ - mkdir -p dists/unstable/osmclient/binary-amd64/ - apt-ftparchive packages pool/osmclient > dists/unstable/osmclient/binary-amd64/Packages - gzip -9fk dists/unstable/osmclient/binary-amd64/Packages - ''' - archiveArtifacts artifacts: "dists/**,pool/osmclient/*.deb", fingerprint: true - } - } +properties([ + parameters([ + string(defaultValue: env.BRANCH_NAME, description: '', name: 'GERRIT_BRANCH'), + string(defaultValue: 'osm/osmclient', 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_stage_2 = load "devops/jenkins/ci-pipelines/ci_stage_2.groovy" + ci_stage_2.ci_pipeline( 'osmclient', + 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..92315f6 --- /dev/null +++ b/devops-stages/stage-archive.sh @@ -0,0 +1,9 @@ +#!/bin/sh +rm -rf pool +rm -rf dists +mkdir -p pool/osmclient +mv deb_dist/*.deb pool/osmclient/ +mkdir -p dists/unstable/osmclient/binary-amd64/ +apt-ftparchive packages pool/osmclient > dists/unstable/osmclient/binary-amd64/Packages +gzip -9fk dists/unstable/osmclient/binary-amd64/Packages +echo 'dists/**,pool/osmclient/*.deb' diff --git a/devops-stages/stage-build.sh b/devops-stages/stage-build.sh new file mode 100755 index 0000000..bf7602b --- /dev/null +++ b/devops-stages/stage-build.sh @@ -0,0 +1,3 @@ +#!/bin/sh +rm -rf deb_dist +tox -e build diff --git a/devops-stages/stage-test.sh b/devops-stages/stage-test.sh new file mode 100755 index 0000000..979786c --- /dev/null +++ b/devops-stages/stage-test.sh @@ -0,0 +1,2 @@ +#!/bin/sh +tox