This commit is contained in:
2025-12-10 00:46:45 +01:00
parent 8ddaf377cb
commit 7842d888b7

View File

@@ -68,12 +68,12 @@ deploy:staging:
echo "🚀 Deploy ${CI_ENVIRONMENT_NAME} → ${FTP_HOST}:${TARGET_PATH}" echo "🚀 Deploy ${CI_ENVIRONMENT_NAME} → ${FTP_HOST}:${TARGET_PATH}"
# ------------------------------------------- # -------------------------------------------
# 🔢 Versionierung: versions.php laden/bauen # 🔢 Versionierung: versions.php laden/bumpen
# ------------------------------------------- # -------------------------------------------
VERSION_WORK_FILE=".ci_versions_${CI_ENVIRONMENT_NAME}.php" VERSION_WORK_FILE=".ci_versions_${CI_ENVIRONMENT_NAME}.php"
REMOTE_VERSION_PATH="${TARGET_PATH}${CONFIG_BASE_DIR}/versions.php" REMOTE_VERSION_PATH="${TARGET_PATH}${CONFIG_BASE_DIR}/versions.php"
echo "🔍 Versuche, bestehende Versionsdatei vom Server zu laden: ${REMOTE_VERSION_PATH}" echo "🔍 Prüfe versions.php auf dem Server: ${REMOTE_VERSION_PATH}"
if lftp -u "${FTP_USER}","${FTP_PASSWORD}" "${FTP_HOST}" -e " if lftp -u "${FTP_USER}","${FTP_PASSWORD}" "${FTP_HOST}" -e "
set ftp:ssl-force true; set ftp:ssl-force true;
@@ -83,26 +83,14 @@ deploy:staging:
get ${REMOTE_VERSION_PATH} -o ${VERSION_WORK_FILE}; get ${REMOTE_VERSION_PATH} -o ${VERSION_WORK_FILE};
bye bye
"; then "; then
echo "✅ Remote versions.php gefunden und lokal gespeichert in ${VERSION_WORK_FILE}" echo "✅ Remote versions.php geladen."
else else
echo "⚠️ Keine Remote-Versionsdatei gefunden verwende Repo-Default (wenn vorhanden)." echo "⚠️ Remote versions.php nicht gefunden, verwende lokale ${CONFIG_ENV_DIR}/versions.php"
if [ -f "${CONFIG_ENV_DIR}/versions.php" ]; then cp "${CONFIG_ENV_DIR}/versions.php" "${VERSION_WORK_FILE}"
cp "${CONFIG_ENV_DIR}/versions.php" "${VERSION_WORK_FILE}"
echo " ${CONFIG_ENV_DIR}/versions.php → ${VERSION_WORK_FILE}"
else
echo "⚠️ Keine versions.php im Repo gefunden starte mit 1.0.0"
cat > "${VERSION_WORK_FILE}" <<PHP
<?php
\$mainversion = ${MAIN};
\$subversion = ${SUB};
\$patchversion = ${PATCH};
PHP
fi
fi fi
# Werte aus VERSION_WORK_FILE lesen
MAIN=$(grep '\$mainversion' "${VERSION_WORK_FILE}" 2>/dev/null | tr -cd '0-9') MAIN=$(grep '\$mainversion' "${VERSION_WORK_FILE}" 2>/dev/null | tr -cd '0-9')
SUB=$(grep '\$subversion' "${VERSION_WORK_FILE}" 2>/dev/null | tr -cd '0-9') SUB=$(grep '\$subversion' "${VERSION_WORK_FILE}" 2>/dev/null | tr -cd '0-9')
PATCH=$(grep '\$patchversion' "${VERSION_WORK_FILE}" 2>/dev/null | tr -cd '0-9') PATCH=$(grep '\$patchversion' "${VERSION_WORK_FILE}" 2>/dev/null | tr -cd '0-9')
[ -z "$MAIN" ] && MAIN=1 [ -z "$MAIN" ] && MAIN=1
@@ -111,16 +99,15 @@ PHP
PATCH=$((PATCH + 1)) PATCH=$((PATCH + 1))
echo "🆙 Baue neue STAGING-Version: ${MAIN}.${SUB}.${PATCH}" echo "🆙 Neue STAGING-Version: ${MAIN}.${SUB}.${PATCH}"
cat > "${VERSION_WORK_FILE}" <<PHP # Neue versions.php bauen
<?php echo '<?php' > "${VERSION_WORK_FILE}"
\$mainversion = ${MAIN}; echo "\$mainversion = ${MAIN};" >> "${VERSION_WORK_FILE}"
\$subversion = ${SUB}; echo "\$subversion = ${SUB};" >> "${VERSION_WORK_FILE}"
\$patchversion = ${PATCH}; echo "\$patchversion = ${PATCH};" >> "${VERSION_WORK_FILE}"
PHP
# Optional: Textdatei für Ausgabe auf der Webseite # Textdatei für die Webseite
echo "${MAIN}.${SUB}.${PATCH}" > public/build_version.txt echo "${MAIN}.${SUB}.${PATCH}" > public/build_version.txt
# ------------------------------------------- # -------------------------------------------
@@ -238,12 +225,12 @@ deploy:production:
echo "🚀 Deploy ${CI_ENVIRONMENT_NAME} → ${FTP_HOST}:${TARGET_PATH}" echo "🚀 Deploy ${CI_ENVIRONMENT_NAME} → ${FTP_HOST}:${TARGET_PATH}"
# ------------------------------------------- # -------------------------------------------
# 🔢 Versionierung: versions.php laden/bauen # 🔢 Versionierung: versions.php laden/bumpen
# ------------------------------------------- # -------------------------------------------
VERSION_WORK_FILE=".ci_versions_${CI_ENVIRONMENT_NAME}.php" VERSION_WORK_FILE=".ci_versions_${CI_ENVIRONMENT_NAME}.php"
REMOTE_VERSION_PATH="${TARGET_PATH}${CONFIG_BASE_DIR}/versions.php" REMOTE_VERSION_PATH="${TARGET_PATH}${CONFIG_BASE_DIR}/versions.php"
echo "🔍 Versuche, bestehende Versionsdatei vom Server zu laden: ${REMOTE_VERSION_PATH}" echo "🔍 Prüfe versions.php auf dem Server: ${REMOTE_VERSION_PATH}"
if lftp -u "${FTP_USER}","${FTP_PASSWORD}" "${FTP_HOST}" -e " if lftp -u "${FTP_USER}","${FTP_PASSWORD}" "${FTP_HOST}" -e "
set ftp:ssl-force true; set ftp:ssl-force true;
@@ -253,26 +240,14 @@ deploy:production:
get ${REMOTE_VERSION_PATH} -o ${VERSION_WORK_FILE}; get ${REMOTE_VERSION_PATH} -o ${VERSION_WORK_FILE};
bye bye
"; then "; then
echo "✅ Remote versions.php gefunden und lokal gespeichert in ${VERSION_WORK_FILE}" echo "✅ Remote versions.php geladen."
else else
echo "⚠️ Keine Remote-Versionsdatei gefunden verwende Repo-Default (wenn vorhanden)." echo "⚠️ Remote versions.php nicht gefunden, verwende lokale ${CONFIG_ENV_DIR}/versions.php"
if [ -f "${CONFIG_ENV_DIR}/versions.php" ]; then cp "${CONFIG_ENV_DIR}/versions.php" "${VERSION_WORK_FILE}"
cp "${CONFIG_ENV_DIR}/versions.php" "${VERSION_WORK_FILE}"
echo " ${CONFIG_ENV_DIR}/versions.php → ${VERSION_WORK_FILE}"
else
echo "⚠️ Keine versions.php im Repo gefunden starte mit 1.0.0"
cat > "${VERSION_WORK_FILE}" << 'PHP'
<?php
$mainversion = 1;
$subversion = 0;
$patchversion = 0;
PHP
fi
fi fi
# Werte aus VERSION_WORK_FILE lesen
MAIN=$(grep '\$mainversion' "${VERSION_WORK_FILE}" 2>/dev/null | tr -cd '0-9') MAIN=$(grep '\$mainversion' "${VERSION_WORK_FILE}" 2>/dev/null | tr -cd '0-9')
SUB=$(grep '\$subversion' "${VERSION_WORK_FILE}" 2>/dev/null | tr -cd '0-9') SUB=$(grep '\$subversion' "${VERSION_WORK_FILE}" 2>/dev/null | tr -cd '0-9')
PATCH=$(grep '\$patchversion' "${VERSION_WORK_FILE}" 2>/dev/null | tr -cd '0-9') PATCH=$(grep '\$patchversion' "${VERSION_WORK_FILE}" 2>/dev/null | tr -cd '0-9')
[ -z "$MAIN" ] && MAIN=1 [ -z "$MAIN" ] && MAIN=1
@@ -281,16 +256,15 @@ PHP
PATCH=$((PATCH + 1)) PATCH=$((PATCH + 1))
echo "🆙 Baue neue PROD-Version: ${MAIN}.${SUB}.${PATCH}" echo "🆙 Neue PROD-Version: ${MAIN}.${SUB}.${PATCH}"
cat > "${VERSION_WORK_FILE}" <<PHP # Neue versions.php bauen
<?php echo '<?php' > "${VERSION_WORK_FILE}"
\$mainversion = ${MAIN}; echo "\$mainversion = ${MAIN};" >> "${VERSION_WORK_FILE}"
\$subversion = ${SUB}; echo "\$subversion = ${SUB};" >> "${VERSION_WORK_FILE}"
\$patchversion = ${PATCH}; echo "\$patchversion = ${PATCH};" >> "${VERSION_WORK_FILE}"
PHP
# Optional: Textdatei für Ausgabe auf der Webseite # Textdatei für die Webseite
echo "${MAIN}.${SUB}.${PATCH}" > public/build_version.txt echo "${MAIN}.${SUB}.${PATCH}" > public/build_version.txt
# ------------------------------------------- # -------------------------------------------