pipeline { agent { label 'linux && increased_mem' } options { disableConcurrentBuilds() } stages { stage("run server") { when { not { triggeredBy "BuildUpstreamCause" } } steps { fileOperations([fileCreateOperation(fileContent: 'eula=true', fileName: 'eula.txt')]) pwsh returnStatus: true, script: 'chmod u+x ./run_trial.sh' fileOperations([fileDownloadOperation(password: '', proxyHost: '', proxyPort: '', targetFileName: 'DynmapBlockScan.jar', targetLocation: 'mods/', url: 'https://github.com/webbukkit/DynmapBlockScan/releases/download/v3.4-beta-1/DynmapBlockScan-3.4-beta-1-forge-1.18.jar', userName: '')]) pwsh 'echo "stop" | ./run_trial.sh' logParser failBuildOnError: true, projectRulePath: 'Jenkinsparse', parsingRulesPath: 'Jenkinsparse', showGraphs: true, unstableOnWarning: true, useProjectRule: true fileOperations([fileDeleteOperation(excludes: '', includes: 'mods/DynmapBlockScan.jar')]) } } stage("cleanup") { when { not { triggeredBy "BuildUpstreamCause" } } steps { pwsh "git clean -dfX" pwsh "rm -rf world" } } stage("deploy") { when { branch '**/master' } steps { sshagent(['ce4c701d-098c-4706-8f32-c0af996a7769']) { pwsh "ssh -o StrictHostKeyChecking=no gamehost@entertainment 'systemctl --user stop rsemcs'" pwsh "rsync -a --update --exclude ./mods/ --exclude ./config/ ./** gamehost@entertainment:/home/gamehost/mcserver/" pwsh "rsync -a --update --delete ./mods/ gamehost@entertainment:/home/gamehost/mcserver/mods" pwsh "rsync -a --update --delete ./config/ gamehost@entertainment:/home/gamehost/mcserver/config" pwsh "ssh gamehost@entertainment 'systemctl --user start rsemcs'" } } } } }