Files
digifi-Deploy/release.sh
T
CHIEFSOFT\ameye e837a61ecf first commit
2025-07-04 13:49:16 -04:00

53 lines
1.3 KiB
Bash

#!/usr/bin/env bash
log() {
local message="$1"
echo -e "\033[32mLog: $message\033[0m"
}
handle_error() {
local error_message="$1"
echo -e "\033[31mError: $error_message\033[0m"
exit 1
}
retry() {
local max_attempts=5
local attempt=1
local delay=1
while true; do
"$@" && break || {
if [ $attempt -lt $max_attempts ]; then
log "Command failed (attempt $attempt/$max_attempts). Retrying in $delay seconds..."
sleep $delay
delay=$((delay * 2))
((attempt++))
else
handle_error "Command failed after $attempt attempts: $*"
fi
}
done
}
################################################################################
# MAIN
################################################################################
if [ "$1" == "product" ]; then
start_services
cd ../product || handle_error "Failed to enter 'product' directory"
log "Start client in dev mode"
retry docker compose up -d --build
elif [ "$1" == "helper" ]; then
start_services
cd ../client || handle_error "Failed to enter 'client' directory"
log "Start client in test mode"
npm run start:static
else
handle_error "Invalid argument. Use 'dev' or 'test'."
fi