Files
lcbp3/scripts/rollback.sh
T
admin 4dc14aba5b
CI / CD Pipeline / build (push) Failing after 7m56s
CI / CD Pipeline / release (push) Has been skipped
CI / CD Pipeline / deploy (push) Has been skipped
690322:2123 Fixing Deployment Errors
2026-03-22 21:23:08 +07:00

52 lines
1.5 KiB
Bash

#!/bin/bash
# File: scripts/rollback.sh
# LCBP3-DMS Rollback Script
# v1.8.1
set -e
LCBP3_DIR="/volume1/lcbp3"
CURRENT_FILE="$LCBP3_DIR/current"
CURRENT=$(cat "$CURRENT_FILE")
PREVIOUS=$([[ "$CURRENT" == "blue" ]] && echo "green" || echo "blue")
echo "========================================="
echo "LCBP3-DMS Rollback (v1.8.1)"
echo "========================================="
echo "Current: $CURRENT"
echo "Rolling back to: $PREVIOUS"
echo "========================================="
# Switch NGINX back
echo "[1/3] Switching NGINX to $PREVIOUS..."
NGINX_CONF="$LCBP3_DIR/nginx-proxy/nginx.conf"
if [ -f "$NGINX_CONF" ]; then
sed -i "s/lcbp3-${CURRENT}-backend/lcbp3-${PREVIOUS}-backend/g" "$NGINX_CONF"
sed -i "s/lcbp3-${CURRENT}-frontend/lcbp3-${PREVIOUS}-frontend/g" "$NGINX_CONF"
docker exec lcbp3-nginx nginx -s reload
echo "✓ NGINX switched back to $PREVIOUS"
fi
# Start previous environment if stopped
echo "[2/3] Ensuring $PREVIOUS environment is running..."
cd "$LCBP3_DIR/$PREVIOUS"
docker-compose up -d
sleep 15
echo "$PREVIOUS environment is running"
# Verify
echo "[3/3] Verifying rollback..."
if docker exec lcbp3-nginx curl -f -k http://lcbp3-${PREVIOUS}-backend:3000/health > /dev/null 2>&1; then
echo "✓ Rollback successful"
echo "$PREVIOUS" > "$CURRENT_FILE"
else
echo "✗ Rollback verification failed!"
exit 1
fi
echo "========================================="
echo "✓ Rollback completed"
echo "Active environment: $PREVIOUS"
echo "========================================="