forked from kieker-monitoring/moobench
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Jenkinsfile
86 lines (73 loc) · 2.05 KB
/
Jenkinsfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/usr/bin/env groovy
pipeline {
agent {
dockerfile {
filename 'Dockerfile'
dir 'docker/'
args env.DOCKER_ARGS
}
}
triggers {
cron('0 1 * * 6')
// upstream(upstreamProjects: 'kieker-dev/master', threshold: hudson.model.Result.SUCCESS)
}
environment {
KEYSTORE = credentials('kieker-irl-key')
UPDATE_SITE_URL = "sftp://repo@repo.se.internal/moobench"
DOCKER_ARGS = ''
BATCH_MODE = "yes"
}
options {
buildDiscarder logRotator(artifactNumToKeepStr: '10')
timeout(time: 168, unit: 'HOURS')
retry(1)
parallelsAlwaysFailFast()
}
stages {
stage('Initial Cleanup') {
steps {
sh './gradlew clean'
}
}
stage('Compile') {
steps {
sh './setup.sh'
}
}
stage('Run Benchmark') {
steps {
catchError {
sh './frameworks/Kieker-python/benchmark.sh'
sh 'cp frameworks/Kieker-python/results-Kieker-python/results.yaml Kieker-python-results.yaml'
}
catchError {
sh './frameworks/Kieker-java/benchmark.sh'
sh 'cp frameworks/Kieker-java/results-Kieker-java/results.yaml Kieker-java-results.yaml'
}
catchError {
sh './frameworks/OpenTelemetry-java/benchmark.sh'
sh 'cp frameworks/OpenTelemetry-java/results-OpenTelemetry-java/results.yaml OpenTelemetry-java-results.yaml'
}
catchError {
sh './frameworks/inspectIT-java/benchmark.sh'
sh 'cp frameworks/inspectIT-java/results-inspectIT-java/results.yaml inspectIT-java-results.yaml'
}
stash includes: '*-results.yaml', name: 'yaml'
}
}
stage('Upload') {
steps {
sshagent(credentials: ['kieker-irl-key']) {
unstash 'yaml'
sh "./upload.sh ${KEYSTORE} ${UPDATE_SITE_URL}"
}
}
post {
cleanup {
deleteDir()
cleanWs()
}
}
}
}
}