diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f3cf6eb..2edba43 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,6 +2,7 @@ stages: - deploy variables: + # CONFIG wird separat gemischt und nach /config synchronisiert BASE_DIRS: "api data debug modules partials public src tools" CONFIG_BASE_DIR: "config" LOCAL_ROOT: "/mnt/nexusserver" @@ -36,16 +37,17 @@ default: echo "๐Ÿš€ Deploy ${DEPLOY_ENV} โ†’ ${TARGET_PATH}" - # --- Sync base dirs --- - for d in $BASE_DIRS; do - if [ -d "$d" ]; then - echo "๐Ÿ” Sync ${d}/ โ†’ ${TARGET_PATH}${d}/" - mkdir -p "${TARGET_PATH}${d}/" - rsync -a --delete --exclude=".gitkeep" "${d}/" "${TARGET_PATH}${d}/" - else - echo "โš ๏ธ Verzeichnis $d existiert nicht im Repo, รผberspringe Sync." - fi - done + # --- Sync Workspace (ohne config/) --- + echo "๐Ÿ” Sync Workspace โ†’ ${TARGET_PATH} (ohne config/)" + rsync -a --delete \ + --exclude=".git" \ + --exclude=".ci_config_deploy" \ + --exclude="config/" \ + --exclude=".gitlab-ci.yml" \ + --exclude="README.md" \ + --exclude="PROJECT_CONTEXT.md" \ + --exclude=".gitkeep" \ + "./" "${TARGET_PATH}" # --- Build mixed config --- echo "๐Ÿงฉ Baue gemischtes Config-Verzeichnis (config/*.php + ${CONFIG_ENV_DIR})..." @@ -62,6 +64,10 @@ default: cp -R "${CONFIG_ENV_DIR}/." .ci_config_deploy/ fi + # --- Ensure env subdirs are removed on target --- + echo "๐Ÿงน Entferne ${TARGET_PATH}${CONFIG_BASE_DIR}/prod und /staging falls vorhanden..." + rm -rf "${TARGET_PATH}${CONFIG_BASE_DIR}/prod" "${TARGET_PATH}${CONFIG_BASE_DIR}/staging" + echo "๐Ÿ” Sync .ci_config_deploy/ โ†’ ${TARGET_PATH}${CONFIG_BASE_DIR}/" mkdir -p "${TARGET_PATH}${CONFIG_BASE_DIR}/" rsync -a --delete --exclude=".gitkeep" ".ci_config_deploy/" "${TARGET_PATH}${CONFIG_BASE_DIR}/"