pipeline { agent any options { buildDiscarder( logRotator( numToKeepStr: '5' ) ) } stages { stage('Build on Linux') { agent { label 'flutter' } steps { script { sh ''' #!/bin/bash flutter pub get flutter build linux dart compile exe -o server bin/server.dart cd build/linux/x64/release/bundle; tar -cvf ../../../../../client.tgz . ''' } } post { always { archiveArtifacts artifacts: 'server' archiveArtifacts artifacts: '*.tgz' deleteDir() } } } stage('Build Docker Images') { agent { label 'dockermain' } steps { script { sh ''' #!/bin/bash docker build -t git.zontreck.com/ariascreations/conanservermanager:stable $(pwd) docker push git.zontreck.com/ariascreations/conanservermanager:stable docker build -t git.zontreck.com/ariascreations/conanservermanager:installer docker_images/installer docker push git.zontreck.com/ariascreations/conanservermanager:installer ''' } } post { always { deleteDir() } } } stage('Build on Windows') { agent { label 'windows' } steps { script { bat 'flutter pub get' bat 'flutter build windows' bat 'mkdir out' bat 'dart compile exe -o out\\server.exe bin\\server.dart' } } post { always { archiveArtifacts artifacts: "out\\*.exe", fingerprint: true deleteDir() } } } } }