playground/jenkins-pipeline/Jenkinsfile.001

84 lines
1.8 KiB
Plaintext

pipeline {
agent none
environment {
THIS_PROJECT = 'hio'
THIS_SVN_URL = "https://code.miflux.com/svn/hio/trunk/${THIS_PROJECT}"
}
stages {
stage('Multi-Builld') {
matrix {
axes {
axis {
name 'BUILD_TYPE'
//values 'debug-shared', 'debug-static', 'release-shared', 'release-static'
values 'debug-shared', 'debug-static'
}
axis {
name 'PLATFORM'
//values 'fedora' , 'freebsd'
values 'fedora'
}
}
//excludes {
// exclude {
// axis {
// name 'BUILD_TYPE'
// value 'debug-shared'
// }
// axis {
// name 'PLATFORM'
// value 'fedora'
// }
// }
//}
//agent any
agent { label "${PLATFORM}" }
stages {
stage('Checkout') {
steps {
echo "Checking out for ${BUILD_TYPE} on ${PLATFORM}"
checkout([$class: 'SubversionSCM',
additionalCredentials: [],
excludedCommitMessages: '',
excludedRegions: '',
excludedRevprop: '',
excludedUsers: '',
filterChangelog: false,
ignoreDirPropChanges: false,
includedRegions: '',
locations: [[
depthOption: 'infinity',
ignoreExternalsOption: true,
//local: 'local-dir',
remote: "${THIS_SVN_URL}"]],
workspaceUpdater: [$class: 'UpdateUpdater']])
}
}
stage('Build') {
steps {
echo "Do build for ${BUILD_TYPE} on ${PLATFORM}"
sh "cd ${THIS_PROJECT} && touch -r * */* */*/* && ./configure && make"
}
}
stage('Test') {
steps {
echo "Do Test for ${BUILD_TYPE} on ${PLATFORM}"
sh "cd ${THIS_PROJECT} && make check"
}
}
}
}
}
}
}