pipeline { agent any options { buildDiscarder( logRotator( numToKeepStr: '5' ) ) } stages { stage('Build on Linux') { agent { label 'linux' } 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:builddeps docker_images/builddeps docker push git.zontreck.com/ariascreations/conanservermanager:builddeps 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' } } post { always { deleteDir() } } } } }