From 3e9daef770625be94c10f2576ba1cfbb257bba50 Mon Sep 17 00:00:00 2001 From: Youssef Date: Thu, 3 Sep 2026 07:54:18 +0200 Subject: [PATCH] feat(ci): add step to deploy backup script and env to DB server (10.8.0.3) via rsync --- .gitea/workflows/ci-prod.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/.gitea/workflows/ci-prod.yml b/.gitea/workflows/ci-prod.yml index 5b19b6d..a26cc1a 100644 --- a/.gitea/workflows/ci-prod.yml +++ b/.gitea/workflows/ci-prod.yml @@ -114,3 +114,29 @@ jobs: echo "Application failed to start or login page is not accessible." docker logs astalange_app exit 1 + + - name: Deploy Backup Script & Config to DB Server (10.8.0.3) + env: + DB_SERVER_HOST: ${{ secrets.PROD_DB_HOST }} + DB_SERVER_USER: ${{ secrets.PROD_DB_SSH_USER }} + SSH_KEY: ${{ secrets.PROD_DB_SSH_KEY }} + run: | + TARGET_HOST="${DB_SERVER_HOST:-10.8.0.3}" + TARGET_USER="${DB_SERVER_USER:-root}" + DEST_DIR="/opt/as-talange" + + if [ -n "${SSH_KEY}" ]; then + apk add --no-cache openssh-client rsync + mkdir -p ~/.ssh + echo "${SSH_KEY}" > ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + + echo "Deploying backup script and .env to DB Server (${TARGET_USER}@${TARGET_HOST}:${DEST_DIR})..." + ssh -o StrictHostKeyChecking=no "${TARGET_USER}@${TARGET_HOST}" "mkdir -p ${DEST_DIR}/scripts" + rsync -avz -e "ssh -o StrictHostKeyChecking=no" scripts/backup_db.sh "${TARGET_USER}@${TARGET_HOST}:${DEST_DIR}/scripts/" + rsync -avz -e "ssh -o StrictHostKeyChecking=no" .env "${TARGET_USER}@${TARGET_HOST}:${DEST_DIR}/.env" + ssh -o StrictHostKeyChecking=no "${TARGET_USER}@${TARGET_HOST}" "chmod +x ${DEST_DIR}/scripts/backup_db.sh" + echo "Backup script and .env deployed successfully to ${DEST_DIR} on DB Server!" + else + echo "NOTICE: PROD_DB_SSH_KEY secret not defined, skipping remote deployment of backup script to DB Server." + fi