Set server properties for production.
This commit is contained in:
23
jenkins/Jenkinsfile-do-release
Normal file
23
jenkins/Jenkinsfile-do-release
Normal file
@@ -0,0 +1,23 @@
|
||||
pipeline {
|
||||
agent any
|
||||
|
||||
tools {
|
||||
maven 'Maven-3.5.0'
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('Perform release') {
|
||||
steps {
|
||||
dir('minager-properties') {
|
||||
git url:'https://gogs.takiguchi.ovh/Minager/minager-properties.git', branch: 'master', credentialsId: 'a6494064-8130-42fd-9d3d-e7734518c79e'
|
||||
}
|
||||
script {
|
||||
sh '''
|
||||
chmod u+x src/main/bash/do-release.bash
|
||||
src/main/bash/do-release.bash
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
57
src/main/bash/do-release.bash
Normal file
57
src/main/bash/do-release.bash
Normal file
@@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env bash
|
||||
function setVersion()
|
||||
{
|
||||
echo 'Update pom.xml file'
|
||||
mvn versions:set -DnewVersion=$1
|
||||
|
||||
echo 'Update properties file'
|
||||
sed -i -z -E "s/minager:\n version: ([0-9]+(\.[0-9]+){2}(-SNAPSHOT)?)/minager:\n version: $1/" \
|
||||
minager-properties/application-prod.yml
|
||||
|
||||
echo 'Update Angular app version'
|
||||
sed -i -E "s/appVersion: '([0-9]+(\.[0-9]+){2}(-SNAPSHOT)?)'/appVersion: $1/" \
|
||||
src/main/ts/src/environments/environment.prod.ts
|
||||
}
|
||||
|
||||
echo 'Retreive the project version...'
|
||||
VERSION=$(mvn -q \
|
||||
-Dexec.executable="echo" \
|
||||
-Dexec.args='${project.version}' \
|
||||
--non-recursive \
|
||||
org.codehaus.mojo:exec-maven-plugin:1.6.0:exec)
|
||||
|
||||
VERSION_MAJOR=$(echo $VERSION | cut -d '-' -f 1 | cut -d '.' -f 1)
|
||||
VERSION_MINOR=$(echo $VERSION | cut -d '-' -f 1 | cut -d '.' -f 2)
|
||||
VERSION_PATCH=$(echo $VERSION | cut -d '-' -f 1 | cut -d '.' -f 3)
|
||||
|
||||
RELEASE_VERSION=$(echo $VERSION | cut -d '-' -f 1)
|
||||
|
||||
NEXT_VERSION=$(echo "$VERSION_MAJOR.$(($VERSION_MINOR + 1)).$VERSION_PATCH-SNAPSHOT")
|
||||
|
||||
echo "Project version: $VERSION"
|
||||
echo "Release version: $RELEASE_VERSION"
|
||||
echo "Next version: $NEXT_VERSION"
|
||||
|
||||
echo 'Change files to release version'
|
||||
setVersion $RELEASE_VERSION
|
||||
|
||||
echo 'Git tag for release freezing'
|
||||
git tag $RELEASE_VERSION
|
||||
cd minager-properties && git tag $RELEASE_VERSION && cd ..
|
||||
|
||||
echo 'Change files to next version'
|
||||
setVersion $NEXT_VERSION
|
||||
|
||||
echo 'Git commit and push'
|
||||
# Minager-properties
|
||||
cd minager-properties
|
||||
git add application-prod.yml
|
||||
git commit -m "Set version for next iteration: $NEXT_VERSION"
|
||||
git push
|
||||
cd ..
|
||||
|
||||
# Minager
|
||||
git add pom.xml
|
||||
git add src/main/ts/src/environments/environment.prod.ts
|
||||
git commit -m "Set version for next iteration: $NEXT_VERSION"
|
||||
git push
|
||||
@@ -1,28 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
USER=minecraft
|
||||
MINECRAFT_SERVER_PATH=/home/minecraft/minager/
|
||||
MINECRAFT_SHELL=minager.sh
|
||||
|
||||
case "$1" in
|
||||
'start')
|
||||
sudo -H -u $USER bash -c "$MINECRAFT_SERVER_PATH/$MINECRAFT_SHELL start"
|
||||
;;
|
||||
'stop')
|
||||
sudo -H -u $USER bash -c "$MINECRAFT_SERVER_PATH/$MINECRAFT_SHELL stop"
|
||||
;;
|
||||
'status')
|
||||
sudo -H -u $USER bash -c "$MINECRAFT_SERVER_PATH/$MINECRAFT_SHELL status"
|
||||
;;
|
||||
'restart')
|
||||
sudo -H -u $USER bash -c "$MINECRAFT_SERVER_PATH/$MINECRAFT_SHELL restart"
|
||||
;;
|
||||
*)
|
||||
# If no argument, we launch the app in case of server startup
|
||||
sudo -H -u $USER bash -c "$MINECRAFT_SERVER_PATH/$MINECRAFT_SHELL start &>/dev/null"
|
||||
# And show the script usage
|
||||
echo "Usage: /etc/init.d/minecraft {start|stop|status|restart}\n" >&2
|
||||
exit 3
|
||||
;;
|
||||
esac
|
||||
exit 0
|
||||
@@ -1,80 +0,0 @@
|
||||
#!/bin/sh
|
||||
# kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing.
|
||||
if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then
|
||||
set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script
|
||||
fi
|
||||
|
||||
# Colors
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
NC='\033[0m'
|
||||
|
||||
DESC="The Minager web app server"
|
||||
NAME='minager'
|
||||
MINECRAFT_HOME='/home/minecraft'
|
||||
MINAGER_HOME="$MINECRAFT_HOME/minager"
|
||||
DAEMON_HOME="$MINAGER_HOME/bin"
|
||||
DAEMON="$DAEMON_HOME/$NAME.jar"
|
||||
PIDFILE="$DAEMON_HOME/$NAME.pid"
|
||||
SCRIPTNAME="$DAEMON_HOME/$0"
|
||||
|
||||
start()
|
||||
{
|
||||
# If PIDFILE exists and PID is in running processes
|
||||
if [ -f $PIDFILE ] && kill -0 `cat $PIDFILE` 2>/dev/null
|
||||
then
|
||||
echo 'Service already running\n'
|
||||
else
|
||||
echo "Starting service $NAME"
|
||||
cd $DAEMON_HOME
|
||||
nohup 2>/dev/null java -jar $DAEMON &>/dev/null &
|
||||
expr $! - 1 > $PIDFILE
|
||||
echo "Service started [`cat $PIDFILE`]\n"
|
||||
fi
|
||||
}
|
||||
|
||||
stop()
|
||||
{
|
||||
# If PIDFILE doesn't exists or PID isn't in running processes
|
||||
if [ ! -f "$PIDFILE" ] || ! kill -0 `cat "$PIDFILE"`
|
||||
then
|
||||
echo 'Service not running\n'
|
||||
else
|
||||
echo 'Stopping service...'
|
||||
# Send signal to end to the process
|
||||
kill -15 `cat "$PIDFILE"` && rm -f "$PIDFILE"
|
||||
echo 'Service stopped\n'
|
||||
fi
|
||||
}
|
||||
|
||||
status()
|
||||
{
|
||||
if [ -f $PIDFILE ] && kill -0 `cat $PIDFILE` 2>/dev/null
|
||||
then
|
||||
echo "Service is running (${GREEN}● active${NC})\n"
|
||||
else
|
||||
echo "Service not running (${RED}● inactive${NC})\n"
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
'start')
|
||||
start
|
||||
;;
|
||||
'stop')
|
||||
stop
|
||||
;;
|
||||
'status')
|
||||
status
|
||||
;;
|
||||
'restart')
|
||||
stop
|
||||
sleep 5
|
||||
start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $SCRIPTNAME {start|stop|status|restart}\n" >&2
|
||||
exit 3
|
||||
;;
|
||||
esac
|
||||
exit 0
|
||||
@@ -1,28 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
USER=takiguchi
|
||||
MINECRAFT_SERVER_PATH=/home/minecraft/server
|
||||
MINECRAFT_SHELL=minecraft-server.sh
|
||||
|
||||
case "$1" in
|
||||
'start')
|
||||
sudo -H -u $USER bash -c "$MINECRAFT_SERVER_PATH/$MINECRAFT_SHELL start"
|
||||
;;
|
||||
'stop')
|
||||
sudo -H -u $USER bash -c "$MINECRAFT_SERVER_PATH/$MINECRAFT_SHELL stop"
|
||||
;;
|
||||
'status')
|
||||
sudo -H -u $USER bash -c "$MINECRAFT_SERVER_PATH/$MINECRAFT_SHELL status"
|
||||
;;
|
||||
'restart')
|
||||
sudo -H -u $USER bash -c "$MINECRAFT_SERVER_PATH/$MINECRAFT_SHELL restart"
|
||||
;;
|
||||
*)
|
||||
# If no argument, we launch the app in case of server startup
|
||||
sudo -H -u $USER bash -c "$MINECRAFT_SERVER_PATH/$MINECRAFT_SHELL start &>/dev/null"
|
||||
# And show the script usage
|
||||
echo "Usage: /etc/init.d/minecraft {start|stop|status|restart}\n" >&2
|
||||
exit 3
|
||||
;;
|
||||
esac
|
||||
exit 0
|
||||
@@ -1,159 +0,0 @@
|
||||
#!/bin/sh
|
||||
# kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing.
|
||||
if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then
|
||||
set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script
|
||||
fi
|
||||
|
||||
# Colors
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
NC='\033[0m'
|
||||
|
||||
DESC="The Minecraft server"
|
||||
NAME='minecraft-server'
|
||||
MINECRAFT_HOME='/home/minecraft'
|
||||
DAEMON_HOME="$MINECRAFT_HOME/server"
|
||||
DAEMON="$DAEMON_HOME/$NAME.jar"
|
||||
PIDFILE="$DAEMON_HOME/$NAME.pid"
|
||||
SCRIPTNAME="$DAEMON_HOME/$0"
|
||||
JAVA_OPT='-Xms=512M -Xmx=2048M'
|
||||
|
||||
# ***********************************************
|
||||
# Normal functions for bash commands.
|
||||
# ***********************************************
|
||||
start()
|
||||
{
|
||||
# If PIDFILE exists and PID is in running processes
|
||||
if [ -f $PIDFILE ] && kill -0 `cat $PIDFILE` 2>/dev/null
|
||||
then
|
||||
echo 'Service already running\n'
|
||||
else
|
||||
echo "Starting service $NAME"
|
||||
cd $DAEMON_HOME
|
||||
nohup 2>/dev/null java $JAVA_OPT -jar $DAEMON &>/dev/null &
|
||||
expr $! - 1 > $PIDFILE
|
||||
echo "Service started [`cat $PIDFILE`]\n"
|
||||
fi
|
||||
}
|
||||
|
||||
stop()
|
||||
{
|
||||
# If PIDFILE doesn't exists or PID isn't in running processes
|
||||
if [ ! -f "$PIDFILE" ] || ! kill -0 `cat "$PIDFILE"`
|
||||
then
|
||||
echo 'Service not running\n'
|
||||
else
|
||||
echo 'Stopping service...'
|
||||
# Send signal to end to the process
|
||||
kill -15 `cat "$PIDFILE"` && rm -f "$PIDFILE"
|
||||
echo 'Service stopped\n'
|
||||
fi
|
||||
}
|
||||
|
||||
status()
|
||||
{
|
||||
if [ -f $PIDFILE ] && kill -0 `cat $PIDFILE` 2>/dev/null
|
||||
then
|
||||
echo "Service is running (${GREEN}● active${NC})\n"
|
||||
else
|
||||
echo "Service not running (${RED}● inactive${NC})\n"
|
||||
fi
|
||||
}
|
||||
|
||||
# ***********************************************
|
||||
# Commands used by Minager to drive the server.
|
||||
# ***********************************************
|
||||
api_check_error()
|
||||
{
|
||||
if [ $1 != 0 ]
|
||||
then
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
api_status()
|
||||
{
|
||||
if [ -f $PIDFILE ] && kill -0 `cat $PIDFILE` 2>/dev/null
|
||||
then
|
||||
echo 1 # Running
|
||||
else
|
||||
echo 0 # Stopped
|
||||
fi
|
||||
}
|
||||
|
||||
api_start() {
|
||||
# If PIDFILE exists and PID is in running processes
|
||||
if [ -f $PIDFILE ] && kill -0 `cat $PIDFILE` 2>/dev/null
|
||||
then
|
||||
exit 2 # STATE_UNCHANGED
|
||||
else
|
||||
cd $DAEMON_HOME
|
||||
api_check_error $?
|
||||
|
||||
nohup 2>/dev/null java $JAVA_OPT -jar $DAEMON &>/dev/null &
|
||||
api_check_error $?
|
||||
|
||||
expr $! - 1 > $PIDFILE
|
||||
api_check_error $?
|
||||
fi
|
||||
}
|
||||
|
||||
api_stop()
|
||||
{
|
||||
# If PIDFILE doesn't exists or PID isn't in running processes
|
||||
if [ ! -f "$PIDFILE" ] || ! kill -0 `cat "$PIDFILE"`
|
||||
then
|
||||
exit 2 # STATE_UNCHANGED
|
||||
else
|
||||
# Send signal to end to the process
|
||||
kill -15 `cat "$PIDFILE"` && rm -f "$PIDFILE"
|
||||
api_check_error $?
|
||||
fi
|
||||
}
|
||||
|
||||
api_restart()
|
||||
{
|
||||
# Stop if running
|
||||
if [ $(api_status) = 1 ]
|
||||
then
|
||||
kill -15 `cat "$PIDFILE"` && rm -f "$PIDFILE"
|
||||
api_check_error $?
|
||||
fi
|
||||
|
||||
sleep 5
|
||||
api_start
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
'start')
|
||||
start
|
||||
;;
|
||||
'stop')
|
||||
stop
|
||||
;;
|
||||
'status')
|
||||
status
|
||||
;;
|
||||
'restart')
|
||||
stop
|
||||
sleep 5
|
||||
start
|
||||
;;
|
||||
'api_status')
|
||||
api_status
|
||||
;;
|
||||
'api_start')
|
||||
api_start
|
||||
;;
|
||||
'api_stop')
|
||||
api_stop
|
||||
;;
|
||||
'api_restart')
|
||||
api_restart
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $SCRIPTNAME {start|stop|status|restart}\n" >&2
|
||||
exit 3
|
||||
;;
|
||||
esac
|
||||
exit 0
|
||||
Reference in New Issue
Block a user