working on deployment
continuous-integration/drone/push Build is passing Details

dev
Override-6 2 years ago
parent 26a090952c
commit 45810fc368

@ -13,20 +13,19 @@ steps:
- ./mill --disable-ticker __.compile - ./mill --disable-ticker __.compile
- ./mill --disable-ticker tests.test - ./mill --disable-ticker tests.test
# - name: Deploy - name: Deploy
# image: override6/tbasket-backend:latest image: override6/tbasket-backend:latest
# depends_on: depends_on:
# - 'Unit tests' - 'Unit tests'
# environment: environment:
# SSH_PRIVATE_KEY: SSH_PRIVATE_KEY:
# from_secret: SSH_PRIVATE from_secret: SSH_PRIVATE
# PASSWD: volumes:
# from_secret: PASSWD - name: build
# volumes: path: ./build
# - name: build commands:
# path: ./build - ./mill Core.jar
# commands: - ./mill JWTEmitter.jar
# - ./mill Core.compile - chmod 777 drone/deliver.sh
# - chmod 777 drone/deliver.sh - drone/deliver.sh
# - drone/deliver.sh

@ -5,5 +5,6 @@ source ./drone/prepare-deliver.sh
echo "making delivery onto '$USER@$IP:$DIR/backend'" echo "making delivery onto '$USER@$IP:$DIR/backend'"
scp -o "StrictHostKeyChecking no" "build/libs/server-all.jar" "drone/deploy.sh" "drone/start.sh" "$USER@$IP:$DIR/backend" mv "out/JWTEmitter/jar.dest/out.jar" "out/JWTEmitter/jar.dest/JWTEmitter.jar"
scp -o "StrictHostKeyChecking no" "out/Core/jar.dest/out.jar" "out/JWTEmitter/jar.dest/JWTEmitter.jar" "drone/deploy.sh" "drone/start.sh" "$USER@$IP:$DIR/backend"
echo "chmod 700 $DIR/backend/*; cd $DIR/backend; ./deploy.sh" | ssh -o "StrictHostKeyChecking no" "$USER@$IP" echo "chmod 700 $DIR/backend/*; cd $DIR/backend; ./deploy.sh" | ssh -o "StrictHostKeyChecking no" "$USER@$IP"

@ -2,30 +2,35 @@
DIR=$(readlink -e "$(dirname "$0")") DIR=$(readlink -e "$(dirname "$0")")
PROD_SERVER_JAR_NAME="server-prod.jar" PROD_SERVER_JAR_NAME="server-prod.jar"
NEW_SERVER_JAR_NAME="server-all.jar" NEW_SERVER_JAR_NAME="out.jar"
prod_pid() { PROD_EMITTER_JAR_NAME="JWTEmitter-prod.jar"
ps -aux | tr -s " " | grep -E "\bjava -jar .*$PROD_SERVER_JAR_NAME\b" | cut -d " " -f2 NEW_EMITTER_JAR_NAME="JWTEmitter.jar"
}
PROD_PID=$(prod_pid) find_pid() {
ps -aux | tr -s " " | grep -E "\bjava -jar .*$1\b" | cut -d " " -f2
}
#if $PROD_PID is not empty but isn't a number, something went wrong SERVER_PROD_PID=$(prod_pid $PROD_SERVER_JAR_NAME)
if [ "$PROD_PID" ] && ! echo "$PROD_PID" | grep -E -q "^[0-9]+$"; then EMITTER_PROD_PID=$(prod_pid $PROD_EMITTER_JAR_NAME)
echo "error, unable to retrieve old server pid: $PROD_PID" >&2
exit 2
fi
if [ "$PROD_PID" ]; then try_shutdown() {
if [ "$1" ]; then
#will cause the old server to gracefully shutdown #will cause the old server to gracefully shutdown
echo "shutting down old server version ..." echo "shutting down old $2 version ..."
kill "$PROD_PID" kill "$PROD_PID"
while [ ! "$(prod_pid)" ]; do sleep 1; done #sleep until process ends while [ ! "$(prod_pid $2)" ]; do sleep 1; done #sleep until process ends
echo "server shut down" echo "$2 shut down"
fi fi
}
try_shutdown "$SERVER_PROD_PID" "$PROD_SERVER_JAR_NAME"
try_shutdown "$EMITTER_PROD_PID" "$PROD_EMITTER_JAR_NAME"
rm "$DIR/$PROD_SERVER_JAR_NAME" rm "$DIR/$PROD_SERVER_JAR_NAME"
mv "$DIR/$NEW_SERVER_JAR_NAME" "$DIR/$PROD_SERVER_JAR_NAME" || ls mv "$DIR/$NEW_SERVER_JAR_NAME" "$DIR/$PROD_SERVER_JAR_NAME" || ls
mv "$DIR/$NEW_EMITTER_JAR_NAME" "$DIR/$PROD_EMITTER_JAR_NAME" || ls
SCREEN="basket" SCREEN="basket"

@ -1,3 +1,9 @@
DIR=$(readlink -e "$(dirname "$0")") DIR=$(readlink -e "$(dirname "$0")")
echo "starting emitter"
java -jar "$DIR/JWTEmitter-prod.jar"&
echo "starting server" echo "starting server"
java -jar "$DIR/server-prod.jar" java -jar "$DIR/server-prod.jar"