feat(scripts): separation du backup de prod et du refresh/anonymisation UAT
AS Talange CI/CD Pipeline - Production / Build & Run Unit Tests (push) Successful in 2m2s
AS Talange CI/CD Pipeline - Production / Deploy to Prod Environment (push) Successful in 1m24s

This commit is contained in:
2026-09-08 09:05:25 +02:00
parent 0be2b5cc52
commit 6c0ce90440
3 changed files with 211 additions and 88 deletions
+7 -3
View File
@@ -151,6 +151,7 @@ jobs:
KEY_B64=$(printf "%s" "${RAW_KEY}" | tr -d '\r' | base64 | tr -d '\r\n')
SCRIPT_B64=$(base64 scripts/backup_db.sh | tr -d '\r\n')
REFRESH_SCRIPT_B64=$(base64 scripts/refresh_uat_db.sh | tr -d '\r\n')
[ -f .env ] && ENV_B64=$(base64 .env | tr -d '\r\n') || ENV_B64=""
docker run --rm --net=host \
@@ -160,6 +161,7 @@ jobs:
-e DEST_DIR="${DEST_DIR}" \
-e KEY_B64="${KEY_B64}" \
-e SCRIPT_B64="${SCRIPT_B64}" \
-e REFRESH_SCRIPT_B64="${REFRESH_SCRIPT_B64}" \
-e ENV_B64="${ENV_B64}" \
alpine:latest sh -c '
apk add --no-cache openssh-client rsync coreutils && \
@@ -173,6 +175,7 @@ jobs:
echo "" >> /tmp/working_key && \
chmod 600 /tmp/working_key && \
(echo "$SCRIPT_B64" | base64 -d 2>/dev/null || echo "$SCRIPT_B64" | base64 --decode) > /tmp/backup_db.sh && \
(echo "$REFRESH_SCRIPT_B64" | base64 -d 2>/dev/null || echo "$REFRESH_SCRIPT_B64" | base64 --decode) > /tmp/refresh_uat_db.sh && \
if [ -n "$ENV_B64" ]; then \
(echo "$ENV_B64" | base64 -d 2>/dev/null || echo "$ENV_B64" | base64 --decode) > /tmp/.env ; \
else \
@@ -186,9 +189,10 @@ jobs:
SSH_CMD="ssh -p ${PORT} -i /tmp/working_key -o IdentitiesOnly=yes -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ConnectTimeout=15" && \
echo "=== 🚀 EXECUTING REMOTE COMMAND ===" && \
$SSH_CMD "${TARGET_USER}@${TARGET_HOST}" "mkdir -p ${DEST_DIR}/scripts" && \
echo "=== 📦 RSYNC TRANSFER SCRIPT & ENV ===" && \
echo "=== 📦 RSYNC TRANSFER SCRIPTS & ENV ===" && \
rsync -avz -e "$SSH_CMD" /tmp/backup_db.sh "${TARGET_USER}@${TARGET_HOST}:${DEST_DIR}/scripts/backup_db.sh" && \
rsync -avz -e "$SSH_CMD" /tmp/refresh_uat_db.sh "${TARGET_USER}@${TARGET_HOST}:${DEST_DIR}/scripts/refresh_uat_db.sh" && \
rsync -avz -e "$SSH_CMD" /tmp/.env "${TARGET_USER}@${TARGET_HOST}:${DEST_DIR}/.env" && \
$SSH_CMD "${TARGET_USER}@${TARGET_HOST}" "chmod +x ${DEST_DIR}/scripts/backup_db.sh" && \
echo "SUCCESS: Backup script and .env deployed successfully to ${DEST_DIR} on DB Server!"
$SSH_CMD "${TARGET_USER}@${TARGET_HOST}" "chmod +x ${DEST_DIR}/scripts/backup_db.sh ${DEST_DIR}/scripts/refresh_uat_db.sh" && \
echo "SUCCESS: Backup and UAT refresh scripts and .env deployed successfully to ${DEST_DIR} on DB Server!"
'