Updated Jenkinsfile
This commit is contained in:
parent
bedeea4671
commit
51e05fa699
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -61,3 +61,6 @@
|
|||||||
path = libraries/jemalloc
|
path = libraries/jemalloc
|
||||||
url = https://github.com/jemalloc/jemalloc.git
|
url = https://github.com/jemalloc/jemalloc.git
|
||||||
branch = dev
|
branch = dev
|
||||||
|
[submodule "Web-Client"]
|
||||||
|
path = Web-Client
|
||||||
|
url = https://github.com/TeaSpeak/TeaWeb.git
|
||||||
|
247
Jenkinsfile
vendored
247
Jenkinsfile
vendored
@ -5,7 +5,7 @@ pipeline {
|
|||||||
booleanParam(defaultValue: false, description: 'Enabled/disables the building of an optimized build', name: 'build_optimized')
|
booleanParam(defaultValue: false, description: 'Enabled/disables the building of an optimized build', name: 'build_optimized')
|
||||||
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')
|
||||||
choice(choices: ['all', 'x86_debug', 'x64_debug', 'x64_release'], description: 'Which target do you want to build?', name: 'target')
|
choice(defaultValue: 'none', choices: ['none', 'x86_debug', 'x86_release', 'x86_stable', 'x64_debug', 'x64_release', 'x64_stable'], description: 'Which target do you want to build?', name: 'target')
|
||||||
}
|
}
|
||||||
|
|
||||||
environment {
|
environment {
|
||||||
@ -22,105 +22,52 @@ pipeline {
|
|||||||
}
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
stage ('build') {
|
/* first of all we have to update our libraries */
|
||||||
parallel {
|
stage ('libraries::update') {
|
||||||
stage ('build::x86::debug') {
|
when {
|
||||||
agent {
|
expression { params.target != 'none' }
|
||||||
label 'linux && x84 && teaspeak'
|
}
|
||||||
}
|
|
||||||
|
steps {
|
||||||
|
sh 'git reset --hard origin/master; git submodule update --init --remote --recursive --force'
|
||||||
|
sh 'git submodule update --merge'
|
||||||
|
sh './attach_modules.sh'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* build all amd64 stuff */
|
||||||
|
stage ('build::x64') {
|
||||||
|
agent {
|
||||||
|
label 'linux && amd64 && teaspeak'
|
||||||
|
}
|
||||||
|
when {
|
||||||
|
expression { params.target == "x64_debug" || params.target == "x64_release" || params.target == "x64_stable" }
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage ('build::x64::libraries') {
|
||||||
when {
|
when {
|
||||||
expression { params.target == "" || params.target == "all" || params.target == "x86_debug" }
|
expression { params.build_libraries }
|
||||||
}
|
}
|
||||||
|
|
||||||
stages {
|
environment {
|
||||||
stage ('build::x86::debug::libraries') {
|
CMAKE_BUILD_TYPE="RelWithDebInfo" /* we build out libraries every time in release mode! (Performance improve) */
|
||||||
stages {
|
BUILD_TARGET=params.target
|
||||||
stage ('build::x86::debug::libraries::update') {
|
}
|
||||||
steps {
|
|
||||||
sh 'git reset --hard origin/master; git submodule update --init --remote --recursive --force'
|
|
||||||
sh 'git submodule update --merge'
|
|
||||||
sh './attach_modules.sh'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage ('build::x86::debug::libraries::build') {
|
steps {
|
||||||
when {
|
sh 'cd libraries; ./build.sh'
|
||||||
expression { params.build_libraries }
|
|
||||||
}
|
|
||||||
|
|
||||||
environment {
|
|
||||||
CMAKE_BUILD_TYPE="Debug"
|
|
||||||
}
|
|
||||||
|
|
||||||
steps {
|
|
||||||
sh 'cd libraries; ./build.sh'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
stage ('build::x86::debug') {
|
|
||||||
environment {
|
|
||||||
TEASPEAK_BUILD_TYPE="Debug"
|
|
||||||
CMAKE_BUILD_TYPE="Debug"
|
|
||||||
}
|
|
||||||
|
|
||||||
stages {
|
|
||||||
stage ('build::x86::debug::build') {
|
|
||||||
steps {
|
|
||||||
sh './build_teaspeak.sh'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage ('build::x86::debug::deploy') {
|
|
||||||
when {
|
|
||||||
expression { params.deploy_build }
|
|
||||||
}
|
|
||||||
steps {
|
|
||||||
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/x86'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage ('build::amd64::debug') {
|
|
||||||
agent {
|
stage ('build::x64::debug') {
|
||||||
label 'linux && amd64 && teaspeak'
|
|
||||||
}
|
|
||||||
when {
|
when {
|
||||||
expression { params.target == "" || params.target == "all" || params.target == "x64_debug" }
|
expression { params.target == "x64_debug" }
|
||||||
}
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
stage ('build::amd64::debug::libraries') {
|
stage ('build::x64::debug::build') {
|
||||||
stages {
|
|
||||||
stage ('build::amd64::debug::libraries::update') {
|
|
||||||
steps {
|
|
||||||
sh 'git reset --hard origin/master; git submodule update --init --remote --recursive --force'
|
|
||||||
sh 'git submodule update --merge'
|
|
||||||
sh './attach_modules.sh'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage ('build::amd64::debug::libraries::build') {
|
|
||||||
when {
|
|
||||||
expression { params.build_libraries }
|
|
||||||
}
|
|
||||||
|
|
||||||
environment {
|
|
||||||
CMAKE_BUILD_TYPE="Debug"
|
|
||||||
}
|
|
||||||
|
|
||||||
steps {
|
|
||||||
sh 'cd libraries; ./build.sh'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage ('build::amd64::debug::build') {
|
|
||||||
environment {
|
environment {
|
||||||
TEASPEAK_BUILD_TYPE="Debug"
|
TEASPEAK_BUILD_TYPE="Debug"
|
||||||
CMAKE_BUILD_TYPE="Debug"
|
CMAKE_BUILD_TYPE="Debug"
|
||||||
@ -143,43 +90,13 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage ('build::amd64::release::deploy') {
|
stage ('build::x64::release') {
|
||||||
when {
|
when {
|
||||||
expression { params.target == "all" || params.target == "x64_release" || params.build_optimized }
|
expression { params.target == "x64_release" }
|
||||||
}
|
|
||||||
|
|
||||||
agent {
|
|
||||||
label 'linux && amd64 && teaspeak'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
stage ('build::amd64::release::libraries') {
|
stage ('build::x64::release::build') {
|
||||||
stages {
|
|
||||||
stage ('build::amd64::release::libraries::update') {
|
|
||||||
steps {
|
|
||||||
sh 'git reset --hard origin/master; git submodule update --init --remote --recursive --force'
|
|
||||||
sh 'git submodule update --merge'
|
|
||||||
sh './attach_modules.sh'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage ('build::amd64::release::libraries::build') {
|
|
||||||
when {
|
|
||||||
expression { params.build_libraries }
|
|
||||||
}
|
|
||||||
|
|
||||||
environment {
|
|
||||||
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
|
||||||
}
|
|
||||||
|
|
||||||
steps {
|
|
||||||
sh 'cd libraries; ./build.sh'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage ('build::amd64::release::build') {
|
|
||||||
environment {
|
environment {
|
||||||
TEASPEAK_BUILD_TYPE="Release"
|
TEASPEAK_BUILD_TYPE="Release"
|
||||||
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
||||||
@ -203,5 +120,91 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* build all x86 stuff */
|
||||||
|
stage ('build::x86') {
|
||||||
|
agent {
|
||||||
|
label 'linux && x86 && teaspeak'
|
||||||
|
}
|
||||||
|
when {
|
||||||
|
expression { params.target == "x86_debug" || params.target == "x86_release" || params.target == "x86_stable" }
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage ('build::x86::libraries') {
|
||||||
|
when {
|
||||||
|
expression { params.build_libraries }
|
||||||
|
}
|
||||||
|
|
||||||
|
environment {
|
||||||
|
CMAKE_BUILD_TYPE="RelWithDebInfo" /* we build out libraries every time in release mode! (Performance improve) */
|
||||||
|
BUILD_TARGET=params.target
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh 'cd libraries; ./build.sh'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
stage ('build::x86::debug') {
|
||||||
|
when {
|
||||||
|
expression { params.target == "x86_debug" }
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage ('build::x86::debug::build') {
|
||||||
|
environment {
|
||||||
|
TEASPEAK_BUILD_TYPE="Debug"
|
||||||
|
CMAKE_BUILD_TYPE="Debug"
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh './build_teaspeak.sh'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::amd64::debug::deploy') {
|
||||||
|
when {
|
||||||
|
expression { params.deploy_build }
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/amd64'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::x86::release') {
|
||||||
|
when {
|
||||||
|
expression { params.target == "x86_release" }
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage ('build::x86::release::build') {
|
||||||
|
environment {
|
||||||
|
TEASPEAK_BUILD_TYPE="Release"
|
||||||
|
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh './build_teaspeak.sh'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::amd64::release::deploy') {
|
||||||
|
when {
|
||||||
|
expression { params.deploy_build }
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/x86'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1
Web-Client
Submodule
1
Web-Client
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit a10e794e3b5e98b807327bcfee321a649b0091a1
|
Loading…
Reference in New Issue
Block a user