55 lines
1.6 KiB
Bash
Executable File
55 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Pfad zur .env.all Datei
|
|
ENV_FILE="../../env/.env.all"
|
|
|
|
# Funktion zum Auslesen von Variablen aus der .env.all Datei
|
|
get_env_var() {
|
|
grep "^$1=" "$ENV_FILE" | cut -d '=' -f2
|
|
}
|
|
|
|
# Auslesen der INFRASTRUCTURE und ENVIRONMENT Variablen
|
|
INFRASTRUCTURE=$(get_env_var "INFRASTRUCTURE_LABEL")
|
|
ENVIRONMENT=$(get_env_var "ENVIRONMENT")
|
|
|
|
# Liste aller Stacks
|
|
STACKS=("proxy")
|
|
|
|
# Liste aller Environments
|
|
ENVIRONMENTS=("development" "staging" "production")
|
|
|
|
# Funktion zum Überprüfen der Existenz einer Datei
|
|
check_file_exists() {
|
|
if [ ! -f "$1" ]; then
|
|
echo "Fehler: Die Datei $1 existiert nicht."
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
# Überprüfe die Existenz von .env.all
|
|
check_file_exists "../../env/.env.all"
|
|
|
|
# Überprüfe die Existenz aller Stack-spezifischen .env Dateien
|
|
missing_files=0
|
|
for stack in "${STACKS[@]}"; do
|
|
env_file="../../env/${ENVIRONMENT:-development}/.env.${stack}"
|
|
if ! check_file_exists "$env_file"; then
|
|
missing_files=$((missing_files + 1))
|
|
fi
|
|
done
|
|
|
|
if [ $missing_files -eq 0 ]; then
|
|
echo "Alle erforderlichen .env Dateien sind vorhanden."
|
|
else
|
|
echo "WARNUNG: $missing_files .env Datei(en) fehlen. Einige Stacks könnten nicht korrekt funktionieren."
|
|
fi
|
|
|
|
# Ausgabe der Variablen
|
|
echo "Deploying to:"
|
|
echo "INFRASTRUCTURE: ${INFRASTRUCTURE:-Not set}"
|
|
echo "ENVIRONMENT: ${ENVIRONMENT:-Not set}"
|
|
echo "-----------------------------------"
|
|
|
|
# Ausführen des Docker Compose Befehls
|
|
docker compose -f ../../apps/docker-compose.all.yml --env-file ../../env/.env.all --env-file ../../env/${ENVIRONMENT:-development}/.env.proxy --profile proxy up --remove-orphans
|