From 7bfac65f55562c7e6166083b3c9b610b357f5134 Mon Sep 17 00:00:00 2001 From: Lars Gebhardt-Kusche Date: Tue, 25 Nov 2025 21:11:54 +0100 Subject: [PATCH] asd --- .gitlab-ci.yml | 59 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 52 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6b102d2..fc37791 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -81,17 +81,39 @@ deploy:staging: " || { echo "❌ Upload für Verzeichnis '${d}' fehlgeschlagen."; exit 1; } done - # Config separat behandeln: config/staging → /config/ - echo "🔁 Sync ${CONFIG_ENV_DIR}/ → ${TARGET_PATH}${CONFIG_BASE_DIR}/" + # ---------------------------------------------- + # Gemischte Config bauen: config/*.php + config/staging/* + # ---------------------------------------------- + echo "🧩 Baue gemischtes Config-Verzeichnis (config/*.php + ${CONFIG_ENV_DIR})..." + rm -rf .ci_config_deploy + mkdir -p .ci_config_deploy + + # 1) Basis: alle *.php direkt aus config/ + if [ -d "${CONFIG_BASE_DIR}" ]; then + for f in ${CONFIG_BASE_DIR}/*.php; do + if [ -f "$f" ]; then + echo "➕ Basis-Config-Datei: $f" + cp "$f" .ci_config_deploy/ + fi + done + fi + + # 2) Env-spezifische Dateien darüberkopieren (dürfen Basis überschreiben) + if [ -d "${CONFIG_ENV_DIR}" ]; then + echo "➕ Env-Config aus ${CONFIG_ENV_DIR}/" + cp -R ${CONFIG_ENV_DIR}/. .ci_config_deploy/ + fi + + echo "🔁 Sync .ci_config_deploy/ → ${TARGET_PATH}${CONFIG_BASE_DIR}/" lftp -u "${FTP_USER}","${FTP_PASSWORD}" "${FTP_HOST}" -e " set ftp:ssl-force true; set ftp:passive-mode true; set ftp:ssl-protect-data true; set ssl:verify-certificate no; - lcd ${CONFIG_ENV_DIR}; + lcd .ci_config_deploy; mirror -R --delete --exclude .gitkeep ./ ${TARGET_PATH}${CONFIG_BASE_DIR}/; bye - " || { echo "❌ Upload für Config-Verzeichnis '${CONFIG_ENV_DIR}' fehlgeschlagen."; exit 1; } + " || { echo "❌ Upload für gemischtes Config-Verzeichnis fehlgeschlagen."; exit 1; } echo "✅ Deploy ${CI_ENVIRONMENT_NAME} abgeschlossen." @@ -172,16 +194,39 @@ deploy:production: " || { echo "❌ Upload für Verzeichnis '${d}' fehlgeschlagen."; exit 1; } done - echo "🔁 Sync ${CONFIG_ENV_DIR}/ → ${TARGET_PATH}${CONFIG_BASE_DIR}/" + # ---------------------------------------------- + # Gemischte Config bauen: config/*.php + config/prod/* + # ---------------------------------------------- + echo "🧩 Baue gemischtes Config-Verzeichnis (config/*.php + ${CONFIG_ENV_DIR})..." + rm -rf .ci_config_deploy + mkdir -p .ci_config_deploy + + # 1) Basis: alle *.php direkt aus config/ + if [ -d "${CONFIG_BASE_DIR}" ]; then + for f in ${CONFIG_BASE_DIR}/*.php; do + if [ -f "$f" ]; then + echo "➕ Basis-Config-Datei: $f" + cp "$f" .ci_config_deploy/ + fi + done + fi + + # 2) Env-spezifische Dateien darüberkopieren (dürfen Basis überschreiben) + if [ -d "${CONFIG_ENV_DIR}" ]; then + echo "➕ Env-Config aus ${CONFIG_ENV_DIR}/" + cp -R ${CONFIG_ENV_DIR}/. .ci_config_deploy/ + fi + + echo "🔁 Sync .ci_config_deploy/ → ${TARGET_PATH}${CONFIG_BASE_DIR}/" lftp -u "${FTP_USER}","${FTP_PASSWORD}" "${FTP_HOST}" -e " set ftp:ssl-force true; set ftp:passive-mode true; set ftp:ssl-protect-data true; set ssl:verify-certificate no; - lcd ${CONFIG_ENV_DIR}; + lcd .ci_config_deploy; mirror -R --delete --exclude .gitkeep ./ ${TARGET_PATH}${CONFIG_BASE_DIR}/; bye - " || { echo "❌ Upload für Config-Verzeichnis '${CONFIG_ENV_DIR}' fehlgeschlagen."; exit 1; } + " || { echo "❌ Upload für gemischtes Config-Verzeichnis fehlgeschlagen."; exit 1; } echo "✅ Deploy ${CI_ENVIRONMENT_NAME} abgeschlossen."