diff --git a/drone/.drone.yml b/drone/.drone.yml index 154355e..13b35d4 100644 --- a/drone/.drone.yml +++ b/drone/.drone.yml @@ -13,20 +13,19 @@ steps: - ./mill --disable-ticker __.compile - ./mill --disable-ticker tests.test -# - name: Deploy -# image: override6/tbasket-backend:latest -# depends_on: -# - 'Unit tests' -# environment: -# SSH_PRIVATE_KEY: -# from_secret: SSH_PRIVATE -# PASSWD: -# from_secret: PASSWD -# volumes: -# - name: build -# path: ./build -# commands: -# - ./mill Core.compile -# - chmod 777 drone/deliver.sh -# - drone/deliver.sh + - name: Deploy + image: override6/tbasket-backend:latest + depends_on: + - 'Unit tests' + environment: + SSH_PRIVATE_KEY: + from_secret: SSH_PRIVATE + volumes: + - name: build + path: ./build + commands: + - ./mill Core.jar + - ./mill JWTEmitter.jar + - chmod 777 drone/deliver.sh + - drone/deliver.sh diff --git a/drone/deliver.sh b/drone/deliver.sh index 1044486..0a3685b 100755 --- a/drone/deliver.sh +++ b/drone/deliver.sh @@ -5,5 +5,6 @@ source ./drone/prepare-deliver.sh 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" diff --git a/drone/deploy.sh b/drone/deploy.sh index 116fb44..ba24c8b 100644 --- a/drone/deploy.sh +++ b/drone/deploy.sh @@ -2,30 +2,35 @@ DIR=$(readlink -e "$(dirname "$0")") PROD_SERVER_JAR_NAME="server-prod.jar" -NEW_SERVER_JAR_NAME="server-all.jar" +NEW_SERVER_JAR_NAME="out.jar" -prod_pid() { - ps -aux | tr -s " " | grep -E "\bjava -jar .*$PROD_SERVER_JAR_NAME\b" | cut -d " " -f2 +PROD_EMITTER_JAR_NAME="JWTEmitter-prod.jar" +NEW_EMITTER_JAR_NAME="JWTEmitter.jar" + +find_pid() { + ps -aux | tr -s " " | grep -E "\bjava -jar .*$1\b" | cut -d " " -f2 } -PROD_PID=$(prod_pid) +SERVER_PROD_PID=$(prod_pid $PROD_SERVER_JAR_NAME) +EMITTER_PROD_PID=$(prod_pid $PROD_EMITTER_JAR_NAME) + +try_shutdown() { + if [ "$1" ]; then + #will cause the old server to gracefully shutdown + echo "shutting down old $2 version ..." + kill "$PROD_PID" + while [ ! "$(prod_pid $2)" ]; do sleep 1; done #sleep until process ends + echo "$2 shut down" + fi +} -#if $PROD_PID is not empty but isn't a number, something went wrong -if [ "$PROD_PID" ] && ! echo "$PROD_PID" | grep -E -q "^[0-9]+$"; then - echo "error, unable to retrieve old server pid: $PROD_PID" >&2 - exit 2 -fi +try_shutdown "$SERVER_PROD_PID" "$PROD_SERVER_JAR_NAME" +try_shutdown "$EMITTER_PROD_PID" "$PROD_EMITTER_JAR_NAME" -if [ "$PROD_PID" ]; then - #will cause the old server to gracefully shutdown - echo "shutting down old server version ..." - kill "$PROD_PID" - while [ ! "$(prod_pid)" ]; do sleep 1; done #sleep until process ends - echo "server shut down" -fi rm "$DIR/$PROD_SERVER_JAR_NAME" 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" diff --git a/drone/start.sh b/drone/start.sh index 31297b0..37f5caa 100644 --- a/drone/start.sh +++ b/drone/start.sh @@ -1,3 +1,9 @@ DIR=$(readlink -e "$(dirname "$0")") + +echo "starting emitter" +java -jar "$DIR/JWTEmitter-prod.jar"& + + echo "starting server" java -jar "$DIR/server-prod.jar" +