rsemcs/Jenkinsfile

51 lines
2.2 KiB
Plaintext
Raw Normal View History

2022-01-08 20:23:08 +00:00
pipeline {
agent {
label 'linux && increased_mem'
}
options {
disableConcurrentBuilds()
}
2022-01-08 20:23:08 +00:00
stages {
stage("run server") {
when {
not {
triggeredBy "BuildUpstreamCause"
}
}
2022-05-12 09:33:18 +00:00
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'
2022-05-12 09:33:18 +00:00
logParser failBuildOnError: true, projectRulePath: 'Jenkinsparse', parsingRulesPath: 'Jenkinsparse', showGraphs: true, unstableOnWarning: true, useProjectRule: true
fileOperations([fileDeleteOperation(excludes: '', includes: 'mods/DynmapBlockScan.jar')])
}
2022-05-12 09:33:18 +00:00
}
stage("cleanup") {
when {
not {
triggeredBy "BuildUpstreamCause"
}
}
2022-05-13 20:37:09 +00:00
steps {
pwsh "git clean -dfX"
pwsh "rm -rf world"
2022-05-13 20:37:09 +00:00
}
}
2022-05-12 09:33:18 +00:00
stage("deploy") {
when {
branch '**/master'
}
steps {
2022-05-12 09:33:18 +00:00
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'"
}
}
}
2022-01-08 20:23:08 +00:00
}
2022-05-12 09:33:18 +00:00
}