Skip to content

Commit d950058

Browse files
authored
Merge pull request #40 from fasolens/master
Add Jenkinsfile to build package on Jenkins
2 parents 88d911b + 9f4cc99 commit d950058

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

Jenkinsfile

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
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

Comments
 (0)