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