#!/bin/bash # bdlgplanner.sh CMD=$1 PARAM=${2:-all} RESTART=0 SUCCESS=0 ROOT="/home/clovis/bdlg" FRONTEND_FOLDER="${ROOT}/bdlg-planner-front" BACKEND_FOLDER="${ROOT}/bdlg-planner-backend" STATIC_FOLDER="${BACKEND_FOLDER}/src/main/resources/static" PID_FILE="${ROOT}/pid.file" if [ $CMD = 'update' ] then if [ $PARAM = 'all' ] || [ $PARAM = 'front' ] then echo "[INFO] Mise à jour du frontend" cd $FRONTEND_FOLDER git pull > "${ROOT}/log.txt" 2>&1 npm i > "${ROOT}/log.txt" 2>&1 npm run build > "${ROOT}/log.txt" 2>&1 rm -r $STATIC_FOLDER mv "${FRONTEND_FOLDER}/dist" $STATIC_FOLDER RESTART=1 fi if [ $PARAM = 'all' ] || [ $PARAM = 'back' ] then echo "[INFO] Mise à jour du backend" cd $BACKEND_FOLDER git pull > "${ROOT}/log.txt" 2>&1 mvn clean > "${ROOT}/log.txt" 2>&1 RESTART=1 fi elif [ $CMD = 'restart' ] then RESTART=1 fi if ( [ $CMD = 'stop' ] || [ $RESTART -gt 0 ] ) && [ -f $PID_FILE ] then echo "[INFO] Arrêt du serveur en cours" kill $(cat $PID_FILE) SUCCESS=1 fi if [ $CMD = 'start' ] || [ $RESTART -gt 0 ] then echo "[INFO] Démarrage du serveur en cours" cd $BACKEND_FOLDER nohup mvn spring-boot:run > "${ROOT}/log.txt" 2>&1 & echo $! > $PID_FILE echo "[INFO] Log disponible dans ${ROOT}/log.txt" SUCCESS=1 fi if [ $SUCCESS -eq 0 ] then echo "Utilisation: [COMMANDE] [OPTION]" echo "Avec COMMANDE dans la liste suivante: update " echo " update Met à jour les fichiers sources et relance le serveur" echo " start Lance le serveur" echo " stop Arrète le serveur" echo " kill Redémarre le serveur" echo "" echo "OPTION uniquement avec la commande update" echo " '' ou all Tout le code source est mis à jour" echo " front Tout le code de la partie frontend est mis à jour" echo " back Tout le code de la partie backend est mis à jour" exit 1 fi