56 lines
1.8 KiB
Text
56 lines
1.8 KiB
Text
|
|
#!/bin/bash
|
||
|
|
# Deploy watcher - run with sudo, triggers on file creation
|
||
|
|
# Usage: sudo ./deploy-watcher
|
||
|
|
|
||
|
|
TRIGGER_FILE="/space/work/pkgs/libreplan/migrate/trigger"
|
||
|
|
LOG_FILE="/space/work/pkgs/libreplan/migrate/localhost.log"
|
||
|
|
CATALINA_LOG="/space/work/pkgs/libreplan/migrate/catalina.out"
|
||
|
|
|
||
|
|
echo "Watcher started. Waiting for trigger file: $TRIGGER_FILE"
|
||
|
|
|
||
|
|
while true; do
|
||
|
|
if [ -f "$TRIGGER_FILE" ]; then
|
||
|
|
WAIT_SECS=$(cat "$TRIGGER_FILE" 2>/dev/null || echo 15)
|
||
|
|
rm -f "$TRIGGER_FILE"
|
||
|
|
|
||
|
|
echo "=== $(date): Triggered with ${WAIT_SECS}s wait ==="
|
||
|
|
|
||
|
|
echo "Stopping Tomcat..."
|
||
|
|
systemctl stop tomcat9
|
||
|
|
|
||
|
|
echo "Removing old deployment..."
|
||
|
|
rm -rf /opt/tomcat/webapps/libreplan*
|
||
|
|
rm -rf /opt/tomcat/work/Catalina/localhost/libreplan
|
||
|
|
rm -f /opt/tomcat/work/Catalina/localhost/libreplan/SESSIONS.ser
|
||
|
|
|
||
|
|
echo "Deploying new WAR..."
|
||
|
|
cp /space/work/pkgs/libreplan/libreplan-webapp/target/libreplan-webapp.war /opt/tomcat/webapps/libreplan.war
|
||
|
|
|
||
|
|
echo "Clearing logs..."
|
||
|
|
truncate -s 0 /opt/tomcat/logs/catalina.out
|
||
|
|
rm -f /opt/tomcat/logs/localhost.*.log
|
||
|
|
|
||
|
|
echo "Starting Tomcat..."
|
||
|
|
systemctl start tomcat9
|
||
|
|
|
||
|
|
echo "Waiting ${WAIT_SECS}s..."
|
||
|
|
sleep $WAIT_SECS
|
||
|
|
|
||
|
|
echo "Copying logs..."
|
||
|
|
CATALINA_DATE_LOG=$(ls -t /opt/tomcat/logs/catalina.*.log 2>/dev/null | head -1)
|
||
|
|
if [ -n "$CATALINA_DATE_LOG" ]; then
|
||
|
|
cp "$CATALINA_DATE_LOG" "$CATALINA_LOG"
|
||
|
|
chmod 644 "$CATALINA_LOG"
|
||
|
|
fi
|
||
|
|
|
||
|
|
LOCALHOST_LOG=$(ls -t /opt/tomcat/logs/localhost.*.log 2>/dev/null | head -1)
|
||
|
|
if [ -n "$LOCALHOST_LOG" ]; then
|
||
|
|
cp "$LOCALHOST_LOG" "$LOG_FILE"
|
||
|
|
chmod 644 "$LOG_FILE"
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo "=== Deploy cycle complete ==="
|
||
|
|
fi
|
||
|
|
sleep 1
|
||
|
|
done
|