rsemcs/Jenkinsfile

66 lines
2.5 KiB
Plaintext
Raw Normal View History

2022-01-08 20:23:08 +00:00
pipeline {
agent any
stages {
2022-05-12 09:33:18 +00:00
stage("integrate modpack") {
when {
2022-05-13 08:06:09 +00:00
branch '**/sync-modpack'
2022-05-12 09:33:18 +00:00
}
2022-01-08 20:23:08 +00:00
steps {
2022-05-13 06:58:36 +00:00
sshagent(['eb018bad-5d56-4306-a006-60fb7cf194aa']) {
sh "git fetch"
sh "git checkout origin/develop"
2022-05-13 08:06:09 +00:00
sh "git merge -X theirs origin/sync-modpack"
sh "chmod u+x ./scripts/*.sh"
sh "./scripts/update_modpack.sh"
}
2022-01-08 20:23:08 +00:00
}
}
2022-05-13 09:23:50 +00:00
stage("server launch") {
when {
not {
2022-05-13 08:06:09 +00:00
branch '**/sync-modpack'
}
}
2022-05-12 09:33:18 +00:00
steps {
sh 'echo "eula=true" > eula.txt'
sh "chmod u+x ./run.sh"
2022-05-13 09:23:50 +00:00
sh "curl -o mods/DynmapBlockScan.jar -LJR https://github.com/webbukkit/DynmapBlockScan/releases/download/v3.4-beta-1/DynmapBlockScan-3.4-beta-1-forge-1.18.jar"
2022-05-12 09:33:18 +00:00
lock('Port 25565') {
sh 'echo "stop" | ./run.sh'
}
logParser failBuildOnError: true, projectRulePath: 'Jenkinsparse', parsingRulesPath: 'Jenkinsparse', showGraphs: true, unstableOnWarning: true, useProjectRule: true
2022-05-13 09:23:50 +00:00
sh "rm mods/DynmapBlockScan.jar"
}
2022-05-12 09:33:18 +00:00
}
stage("commit changes") {
when {
2022-05-13 08:06:09 +00:00
branch '**/sync-modpack'
}
steps {
sh "git add mods/**"
sh "git add config/**"
2022-05-13 09:23:50 +00:00
sh "git add dynmap/renderdata/**"
2022-05-13 08:39:06 +00:00
sh "git clean -dfX"
2022-05-13 08:18:50 +00:00
sh returnStatus: true, script: "git commit -m 'Automatic integration of latest modpack.'"
sshagent(['108c5045-64d1-42a6-acd7-a39da5e096d1']) {
2022-05-13 08:06:09 +00:00
sh "git pull -X theirs origin develop"
2022-05-13 08:23:34 +00:00
sh returnStatus: true, script: "git push --set-upstream origin develop"
}
}
}
2022-05-12 09:33:18 +00:00
stage("deploy") {
when {
branch '**/master'
}
steps {
2022-05-12 09:34:50 +00:00
sh "git clean -dfX"
2022-05-12 20:59:40 +00:00
sh "rm -rf world"
2022-05-12 09:33:18 +00:00
sshagent(['ce4c701d-098c-4706-8f32-c0af996a7769']) {
2022-05-12 21:34:02 +00:00
sh "ssh -o StrictHostKeyChecking=no gamehost@entertainment 'systemctl --user stop rsemcs'"
2022-05-13 03:18:03 +00:00
sh "rsync -a --update --delete-after ./** gamehost@entertainment:/home/gamehost/mcserver/"
2022-05-12 21:15:43 +00:00
sh "ssh gamehost@entertainment 'systemctl --user start rsemcs'"
}
}
}
2022-01-08 20:23:08 +00:00
}
2022-05-12 09:33:18 +00:00
}