1+ import java.text.SimpleDateFormat
2+ jobName = " metadata-exporter"
3+ version = " 0.1.46"
4+ build_dir = " build"
5+ buildPackageName = " meta-exporter"
6+
7+ node (' dockerslave' ) {
8+ // Be sure that workspace is cleaned
9+ deleteDir()
10+ stage (' Git' ) {
11+ git branch : ' master' , url : ' git@github.com:MONROE-PROJECT/Utilities.git'
12+
13+ checkout([$class : ' GitSCM' ,
14+ branches : [[name : ' master' ]],
15+ doGenerateSubmoduleConfigurations : false ,
16+ extensions : [[$class : ' RelativeTargetDirectory' , relativeTargetDir : ' metadata-exporter-alt' ]],
17+ submoduleCfg : [],
18+ userRemoteConfigs : [[url : ' git@github.com:kristrev/data-exporter.git' ]]])
19+ gitCommit = sh(returnStdout : true , script : ' git rev-parse HEAD' ). trim()
20+ shortCommit = gitCommit. take(6 )
21+ commitChangeset = sh(returnStdout : true , script : ' git diff-tree --no-commit-id --name-status -r HEAD' ). trim()
22+ commitMessage = sh(returnStdout : true , script : " git show ${ gitCommit} --format=%B --name-status" ). trim()
23+ sh """ echo "${ commitMessage} " > CHANGELIST"""
24+ def dateFormat = new SimpleDateFormat (" yyyyMMddHHmm" )
25+ def date = new Date ()
26+ def timestamp = dateFormat. format(date). toString()
27+
28+ checkout([$class : ' GitSCM' ,
29+ branches : [[name : ' monroe' ]],
30+ doGenerateSubmoduleConfigurations : false ,
31+ extensions : [[$class : ' RelativeTargetDirectory' , relativeTargetDir : ' versionize' ]],
32+ submoduleCfg : [],
33+ userRemoteConfigs : [[url : ' git@github.com:Celerway/celerway-jenkins.git' ]]])
34+ }
35+
36+ stage (' Build' ) {
37+ dir(build_dir) {
38+ sh " cmake ../metadata-exporter-alt -DNNE=1 -DSQLITE3=1 -DZEROMQ=1 -DGPS_NSB=1 -DMUNIN=1 -DSYSEVENT=1 && make && make package"
39+ }
40+ sh " chmod +x versionize/versionize.sh; cp versionize/versionize.sh build/"
41+ dir(build_dir) {
42+ sh " mv meta_exporter-0.1.0-Linux.deb meta-exporter-0.1.0-Linux.deb"
43+ sh " ./versionize.sh meta-exporter-0.1.0-Linux.deb ${ buildPackageName} ${ version} ${ shortCommit} || true"
44+ sh " rm meta-exporter-0.1.0-Linux.deb"
45+ }
46+ }
47+
48+ stage (' Configure' ) {
49+ dir(build_dir) {
50+ sh """ echo `cat pk_${ buildPackageName} /DEBIAN/control |grep Version|sed -e 's/Version: //'` > pkgver"""
51+ }
52+ sh """ cp -an metadata-exporter/* build/pk_${ buildPackageName} /"""
53+ dir(build_dir) {
54+ sh """ sed -i -e 's/${ buildPackageName} /metadata-exporter/g' pk_${ buildPackageName} /DEBIAN/md5sums pk_${ buildPackageName} /DEBIAN/control"""
55+ sh """ mkdir -p pk_${ buildPackageName} /usr/sbin && mv pk_${ buildPackageName} /usr/sbin/meta_exporter pk_${ buildPackageName} /usr/sbin/metadata-exporter"""
56+ sh ''' PKGVER=`cat pkgver` ;dpkg -b pk_meta-exporter metadata-exporter-${PKGVER}-Linux.deb'''
57+ sh " rm meta-exporter*.deb"
58+ }
59+ }
60+
61+ stage (' Archive artifacts' ) {
62+ archiveArtifacts " ${ build_dir} /*.deb"
63+ }
64+ }
0 commit comments