51 lines
1.3 KiB
Bash
51 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=2
|
|
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
|
|
docker login -u="admin" -p="may12002" registry.simbrellang.net
|
|
|
|
retry docker pull registry.simbrellang.net/digifi/simbrella_office:latest
|
|
# retry docker pull registry.simbrellang.net/digifi/simbrellacore0001:latest
|
|
|
|
|
|
elif [ "$1" == "clean" ]; then
|
|
retry docker stop digi_co
|
|
else
|
|
handle_error "Invalid argument. Use 'clean' or 'product'."
|
|
fi
|
|
|