-
Notifications
You must be signed in to change notification settings - Fork 208
/
Jenkinsfile-linux
66 lines (42 loc) · 1.26 KB
/
Jenkinsfile-linux
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
@Library("osconfig") _
properties([disableConcurrentBuilds()])
// from shared library
target = osconfig()
docker_args = docker_args()
currentBuild.description = "Pipelined " + target
node("linux") {
artefacts = pwd() + "/artefacts"
target_dir = artefacts + "/" + target
stage("Checkout sources") {
checkout scm
checkout_private()
}
stage("Building target ${target}") {
withDockerContainer(image: "jenkins-${target}", args: docker_args) {
// from shared library
build(target, target_dir)
}
}
stage("Publish and test") {
parallel(
"Publish": {
// from shared library - only publish for normal branch, not for PR
if (! BRANCH_NAME.startsWith('PR')) {
publish(BRANCH_NAME, target, target_dir)
}
},
"Unit testing": {
ut_result = "no-result"
withDockerContainer(image: "jenkins-${target}", args: docker_args) {
ut_result = run_ut(target)
}
junit(testResults: ut_result)
},
"Installtest": {
withDockerContainer(image: "jenkins-${target}-basic", args: docker_args) {
// from shared library
installtest_nopython(target, target_dir)
}
})
}
}