31 lines
796 B
Bash
Executable File
31 lines
796 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
cd /opt/supersam
|
|
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Deploy starting..."
|
|
|
|
# Pull latest from main
|
|
git fetch origin main
|
|
BEFORE=$(git rev-parse HEAD)
|
|
git reset --hard origin/main
|
|
AFTER=$(git rev-parse HEAD)
|
|
|
|
if [ "$BEFORE" = "$AFTER" ]; then
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] No changes, skipping rebuild."
|
|
exit 0
|
|
fi
|
|
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Updated: ${BEFORE:0:7} -> ${AFTER:0:7}"
|
|
|
|
# Rebuild and restart
|
|
docker compose -f docker-compose.app.yml up -d --build
|
|
|
|
# Wait for container to be healthy
|
|
sleep 3
|
|
if docker ps --format '{{.Names}}' | grep -q 'supersam-app'; then
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Deploy complete. Container running."
|
|
else
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] ERROR: Container not running after deploy!"
|
|
exit 1
|
|
fi
|