- Standardize environment variable from IS_PROD to PROD across all scripts - Add missing -p flag to docker compose commands for consistent project naming - Fix GitHub Actions workflow to use environment vars instead of job outputs - Consolidate metadata setup and fix artifact naming in build/deploy jobs - Correct service paths in docker-compose_core.yml
44 lines
No EOL
1.3 KiB
Bash
44 lines
No EOL
1.3 KiB
Bash
#!/bin/bash
|
||
set -euo pipefail
|
||
|
||
# Prepare deployment by stopping containers
|
||
# Usage: ./prepare-deployment.sh REPO_PROJECT_PATH PROD CURRENT_LINK_PATH
|
||
|
||
if [ $# -ne 3 ]; then
|
||
echo "Error: Invalid number of arguments"
|
||
echo "Usage: $0 REPO_PROJECT_PATH PROD CURRENT_LINK_PATH"
|
||
exit 1
|
||
fi
|
||
|
||
REPO_PROJECT_PATH="$1"
|
||
PROD="$2"
|
||
CURRENT_LINK_PATH="$3"
|
||
|
||
# Ensure base directory exists
|
||
if [ ! -d "$REPO_PROJECT_PATH" ]; then
|
||
echo "⚠️ Directory $REPO_PROJECT_PATH does not exist, creating it..."
|
||
mkdir -p "$REPO_PROJECT_PATH"
|
||
fi
|
||
|
||
# If current symlink exists, stop containers in that directory
|
||
if [ -L "$CURRENT_LINK_PATH" ] && [ -d "$CURRENT_LINK_PATH" ]; then
|
||
echo "🛑 Stopping containers in current deployment..."
|
||
cd "$CURRENT_LINK_PATH"
|
||
|
||
# Stop containers
|
||
if [ -f "docker-compose_web.yml" ]; then
|
||
docker compose -f docker-compose_web.yml -p pkmntrade-club down || true
|
||
fi
|
||
|
||
if [ "$PROD" = "false" ] && [ -f "docker-compose_staging.yml" ]; then
|
||
docker compose -f docker-compose_staging.yml -p pkmntrade-club down || true
|
||
fi
|
||
|
||
if [ -f "docker-compose_core.yml" ]; then
|
||
docker compose -f docker-compose_core.yml -p pkmntrade-club down || true
|
||
fi
|
||
|
||
echo "✅ Containers stopped"
|
||
else
|
||
echo "ℹ️ No current deployment found (symlink doesn't exist or point to valid directory)"
|
||
fi |