pipeline { agent any stages { stage('Build Windows Debug') { when { branch 'develop' beforeAgent true } agent { docker { image 'llvm-mingw:latest' reuseNode true } } environment { DEBUG = 1 } steps { sh 'bash ./build.sh win32' sh 'bash ./build.sh win64' } } stage('Build Linux Debug') { when { branch 'develop' beforeAgent true } agent { docker { image 'llvm:latest' reuseNode true } } environment { DEBUG = 1 } steps { sh 'bash ./build.sh lin32' sh 'bash ./build.sh lin64' } } stage('Build MacOSX Debug') { when { branch 'develop' beforeAgent true } agent { docker { image 'osxcross:latest' reuseNode true } } environment { DEBUG = 1 } steps { sh 'bash ./build.sh mac' } } stage('Archive Debug') { when { branch 'develop' } steps { zip zipFile: 'Debug.zip', archive: true, dir: 'build/Plugin' sh 'rm -rf build' } } stage('Build Windows Release') { when { branch 'prod' beforeAgent true } agent { docker { image 'llvm-mingw:latest' reuseNode true } } steps { sh 'bash ./build.sh win32' sh 'bash ./build.sh win64' } } stage('Build Linux Release') { when { branch 'prod' beforeAgent true } agent { docker { image 'llvm:latest' reuseNode true } } steps { sh 'bash ./build.sh lin32' sh 'bash ./build.sh lin64' } } stage('Build MacOSX Release') { when { branch 'prod' beforeAgent true } agent { docker { image 'osxcross:latest' reuseNode true } } steps { sh 'bash ./build.sh mac' } } stage('Archive Release') { when { branch 'prod' beforeAgent true } steps { zip zipFile: 'Release.zip', archive: true, dir: 'build/Plugin' sh 'rm -rf build' } } } }