Updated Jenkinsfile

This commit is contained in:
WolverinDEV 2018-11-01 16:42:08 +01:00
parent b9165d89ef
commit 4574a4e478

266
Jenkinsfile vendored
View File

@ -6,158 +6,158 @@ pipeline {
booleanParam(defaultValue: true, description: 'Build the libraries as well', name: 'build_libraries') booleanParam(defaultValue: true, description: 'Build the libraries as well', name: 'build_libraries')
booleanParam(defaultValue: true, description: 'Deploy this build', name: 'deploy_build') booleanParam(defaultValue: true, description: 'Deploy this build', name: 'deploy_build')
} }
environment {
//General flags
CXX_FLAGS = ''
C_FLAGS = ''
//CMake specific flags
CMAKE_OPTIONS = ''
CMAKE_MAKE_OPTIONS = '-j 12'
//Make specific flags
MAKE_OPTIONS = '-j 12'
}
stages { //stages {
stage ('build') { // stage ('build') {
parallel { parallel {
stage ('x86') { stage ('Build x86') {
agent { agent {
label 'linux && x84 && teaspeak' label 'linux && x84 && teaspeak'
}
stages {
stage ('Initialize libraries') {
when {
expression { params.build_libraries }
} }
environment { steps {
//General flags sh 'apt-get update'
CXX_FLAGS = '' sh 'git reset --hard origin/master; git submodule update --init --remote --recursive --force'
C_FLAGS = '' sh 'git submodule update --merge'
sh './attach_modules.sh'
//CMake specific flags sh 'cd libraries; ./build.sh'
CMAKE_OPTIONS = ''
CMAKE_MAKE_OPTIONS = '-j 12'
//Make specific flags
MAKE_OPTIONS = '-j 12'
}
stages {
stage ('Initialize libraries') {
when {
expression { params.build_libraries }
}
steps {
sh 'apt-get update'
sh 'git reset --hard origin/master; git submodule update --init --remote --recursive --force'
sh 'git submodule update --merge'
sh './attach_modules.sh'
sh 'cd libraries; ./build.sh'
}
}
stage ('Build TeaSpeak Debug') {
environment {
TEASPEAK_BUILD_TYPE="Debug"
}
stages {
stage ('build') {
steps {
sh './build_teaspeak.sh'
}
}
stage ('deploy') {
when {
expression { params.deploy_build }
}
steps {
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/x86'
}
}
}
}
} }
} }
stage ('amd64') {
agent {
label 'linux && amd64 && teaspeak'
}
stage ('Build TeaSpeak Debug') {
environment { environment {
//General flags TEASPEAK_BUILD_TYPE="Debug"
CXX_FLAGS = ''
C_FLAGS = ''
//CMake specific flags
CMAKE_OPTIONS = ''
CMAKE_MAKE_OPTIONS = '-j 12'
//Make specific flags
MAKE_OPTIONS = '-j 12'
} }
stages { stages {
stage ('Initialize libraries') { stage ('build') {
when {
expression { params.build_libraries }
}
steps { steps {
sh 'apt-get update' sh './build_teaspeak.sh'
sh 'git reset --hard origin/master; git submodule update --init --remote --recursive --force'
sh 'git submodule update --merge'
sh './attach_modules.sh'
sh 'cd libraries; ./build.sh'
} }
} }
stage ('deploy') {
stage ('Build TeaSpeak') { when {
parallel { expression { params.deploy_build }
stage ('Build TeaSpeak Debug') { }
environment { steps {
TEASPEAK_BUILD_TYPE="Debug" sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/x86'
}
stages {
stage ('build') {
steps {
sh './build_teaspeak.sh'
}
}
stage ('deploy') {
when {
expression { params.deploy_build }
}
steps {
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/amd64'
}
}
}
}
stage ('Build TeaSpeak Release') {
when {
expression { params.build_optimized }
}
environment {
TEASPEAK_BUILD_TYPE="Release"
}
stages {
stage ('build') {
steps {
sh './build_teaspeak.sh'
}
}
stage ('deploy') {
when {
expression { params.deploy_build == true }
}
steps {
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/amd64_optimized'
}
}
}
}
} }
} }
} }
} }
} }
} }
stage ('Build amd64 Debug') {
agent {
label 'linux && amd64 && teaspeak'
}
stages {
stage ('Initialize libraries') {
when {
expression { params.build_libraries }
}
steps {
sh 'apt-get update'
sh 'git reset --hard origin/master; git submodule update --init --remote --recursive --force'
sh 'git submodule update --merge'
sh './attach_modules.sh'
sh 'cd libraries; ./build.sh'
}
}
stage ('Build') {
environment {
TEASPEAK_BUILD_TYPE="Debug"
}
steps {
sh './build_teaspeak.sh'
}
}
stage ('Deploy') {
when {
expression { params.deploy_build }
}
steps {
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/amd64'
}
}
}
}
stage ('Build amd64 Release') {
when {
expression { params.build_optimized }
}
agent {
label 'linux && amd64 && teaspeak'
}
stages {
stage ('Initialize libraries') {
when {
expression { params.build_libraries }
}
steps {
sh 'apt-get update'
sh 'git reset --hard origin/master; git submodule update --init --remote --recursive --force'
sh 'git submodule update --merge'
sh './attach_modules.sh'
sh 'cd libraries; ./build.sh'
}
}
stage ('Build') {
environment {
TEASPEAK_BUILD_TYPE="Release"
}
steps {
sh './build_teaspeak.sh'
}
}
stage ('Deploy') {
when {
expression { params.deploy_build }
}
steps {
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/amd64_optimized'
}
}
}
}
//}
//}
} }
} }