Generalizing Jenkinsfile

This commit is contained in:
Matthias Koefferlein 2023-02-19 12:55:31 +01:00
parent 0a15425745
commit f8b865e4e0
1 changed files with 65 additions and 0 deletions

65
Jenkinsfile-linux Normal file
View File

@ -0,0 +1,65 @@
@Library("osconfig") _
properties([disableConcurrentBuilds()])
// from shared library
target = osconfig()
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}") {
// 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}") {
ut_result = run_ut(target)
}
junit(testResults: ut_result)
},
"Installtest": {
withDockerContainer(image: "jenkins-${target}-basic") {
// from shared library
installtest_nopython(target, target_dir)
}
})
}
}