diff --git a/Jenkinsfile b/Jenkinsfile index ac07e4a..21edf47 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,6 +31,10 @@ pipeline { 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' @@ -39,18 +43,27 @@ pipeline { sh 'cd libraries; ./build.sh' } } - stage ('Build TeaSpeak') { + + + stage ('Build TeaSpeak Debug') { environment { TEASPEAK_BUILD_TYPE="Debug" } - - steps { - sh './build_teaspeak.sh' - } - } - stage ('Deploy') { - steps { - 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/x86' + } + } } } } @@ -91,49 +104,53 @@ pipeline { } } - stage ('Build TeaSpeak Debug') { - environment { - TEASPEAK_BUILD_TYPE="Debug" - } - - stages { - stage ('build') { - steps { - sh './build_teaspeak.sh' + stage ('Build TeaSpeak') { + parallel { + 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/amd64' + } + } } } - stage ('deploy') { + + stage ('Build TeaSpeak Release') { when { - expression { params.deploy_build == true } + expression { params.build_optimized } } - steps { - sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/amd64' + + environment { + TEASPEAK_BUILD_TYPE="Release" } - } - } - } - - stage ('Build TeaSpeak Release') { - when { - expression { params.build_optimized == true } - } - - 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' + + 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' + } + } } } }