multidb
This commit is contained in:
57
deploy.sh
57
deploy.sh
@@ -15,32 +15,17 @@ COMPOSE_FILE="${COMPOSE_FILE:-docker-compose.yml}"
|
|||||||
GIT_REMOTE="${GIT_REMOTE:-origin}"
|
GIT_REMOTE="${GIT_REMOTE:-origin}"
|
||||||
GIT_BRANCH="${GIT_BRANCH:-$(git -C "$REPO_DIR" rev-parse --abbrev-ref HEAD 2>/dev/null || echo main)}"
|
GIT_BRANCH="${GIT_BRANCH:-$(git -C "$REPO_DIR" rev-parse --abbrev-ref HEAD 2>/dev/null || echo main)}"
|
||||||
|
|
||||||
# Domyślny profil i usługi
|
# Domyślny profil
|
||||||
DB_PROFILE="sqlite" # domyślnie sqlite, czyli brak profilu pgsql/mysql
|
PROFILE="${1:-sqlite}"
|
||||||
SERVICES=()
|
|
||||||
|
|
||||||
# Tworzenie katalogów danych dla baz jeśli brak
|
if [[ "$PROFILE" != "pgsql" && "$PROFILE" != "mysql" && "$PROFILE" != "sqlite" ]]; then
|
||||||
if [[ "$DB_PROFILE" == "pgsql" ]]; then
|
echo "Użycie: $0 {pgsql|mysql|sqlite}"
|
||||||
if [[ ! -d "./db/pgsql" ]]; then
|
exit 1
|
||||||
log "Tworzę katalog ./db/pgsql dla danych PostgreSQL"
|
|
||||||
mkdir -p ./db/pgsql
|
|
||||||
fi
|
|
||||||
elif [[ "$DB_PROFILE" == "mysql" ]]; then
|
|
||||||
if [[ ! -d "./db/mysql" ]]; then
|
|
||||||
log "Tworzę katalog ./db/mysql dla danych MySQL"
|
|
||||||
mkdir -p ./db/mysql
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Przetwarzanie argumentów
|
SERVICES=()
|
||||||
if [[ $# -gt 0 ]]; then
|
if [[ $# -gt 1 ]]; then
|
||||||
case "$1" in
|
SERVICES=("${@:2}")
|
||||||
pgsql|mysql|sqlite)
|
|
||||||
DB_PROFILE="$1"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
SERVICES=("$@")
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
log() { printf "\n==> %s\n" "$*"; }
|
log() { printf "\n==> %s\n" "$*"; }
|
||||||
@@ -77,21 +62,25 @@ docker compose -f "$COMPOSE_FILE" down --remove-orphans
|
|||||||
log "Generowanie default.vcl z APP_PORT=$APP_PORT"
|
log "Generowanie default.vcl z APP_PORT=$APP_PORT"
|
||||||
envsubst < deploy/varnish/default.vcl.template > deploy/varnish/default.vcl
|
envsubst < deploy/varnish/default.vcl.template > deploy/varnish/default.vcl
|
||||||
|
|
||||||
# Budowanie i uruchamianie
|
# Tworzenie katalogów danych dla baz jeśli brak
|
||||||
log "Docker Compose UP (build bez deps) dla profilu: $DB_PROFILE i serwisów: ${SERVICES[*]:-(wszystkie)}"
|
if [[ "$PROFILE" == "pgsql" ]]; then
|
||||||
|
if [[ ! -d "./db/pgsql" ]]; then
|
||||||
if [[ "$DB_PROFILE" == "pgsql" ]]; then
|
log "Tworzę katalog ./db/pgsql dla danych PostgreSQL"
|
||||||
PROFILE_OPT="--profile pgsql"
|
mkdir -p ./db/pgsql
|
||||||
elif [[ "$DB_PROFILE" == "mysql" ]]; then
|
fi
|
||||||
PROFILE_OPT="--profile mysql"
|
elif [[ "$PROFILE" == "mysql" ]]; then
|
||||||
else
|
if [[ ! -d "./db/mysql" ]]; then
|
||||||
PROFILE_OPT=""
|
log "Tworzę katalog ./db/mysql dla danych MySQL"
|
||||||
|
mkdir -p ./db/mysql
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
log "Docker Compose UP (build bez deps) dla profilu: $PROFILE i serwisów: ${SERVICES[*]:-(wszystkie)}"
|
||||||
|
|
||||||
if [[ ${#SERVICES[@]} -gt 0 ]]; then
|
if [[ ${#SERVICES[@]} -gt 0 ]]; then
|
||||||
docker compose -f "$COMPOSE_FILE" up -d --no-deps --build $PROFILE_OPT "${SERVICES[@]}"
|
DB_ENGINE="$PROFILE" docker compose -f "$COMPOSE_FILE" --profile "$PROFILE" up -d --no-deps --build "${SERVICES[@]}"
|
||||||
else
|
else
|
||||||
docker compose -f "$COMPOSE_FILE" up -d --no-deps --build $PROFILE_OPT
|
DB_ENGINE="$PROFILE" docker compose -f "$COMPOSE_FILE" --profile "$PROFILE" up -d --no-deps --build
|
||||||
fi
|
fi
|
||||||
|
|
||||||
log "Gotowe ✅ (wersja: $(cat version.txt))"
|
log "Gotowe ✅ (wersja: $(cat version.txt))"
|
||||||
|
Reference in New Issue
Block a user