From dada0c66bbed2daabe8fd63f10d82816e94c9f74 Mon Sep 17 00:00:00 2001 From: Arthur FRIN Date: Sat, 27 Jul 2024 13:07:46 +0200 Subject: [PATCH] feat: add rollback backup when job fail --- .github/workflows/deploy.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index df7356d..20c99cd 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -18,6 +18,15 @@ jobs: with: ssh-private-key: ${{ secrets.SECRET_KEY }} # Utilisation de la clé SSH + - name: Backup current state + env: + VPS_IP: ${{ secrets.VPS_IP }} + run: | + ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@$VPS_IP ' + rm -rf /home/cleanwalk-backup && + cp -r /home/cleanwalk-org-v2 /home/cleanwalk-backup + ' + - name: Deploy to VPS env: VPS_IP: ${{ secrets.VPS_IP }} @@ -28,3 +37,22 @@ jobs: docker compose -f docker-compose.prod.yml down && docker compose -f docker-compose.prod.yml up -d --build ' + + - name: Cleanup backup + if: success() + env: + VPS_IP: ${{ secrets.VPS_IP }} + run: | + ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@$VPS_IP ' + rm -rf /home/cleanwalk-backup + ' + + - name: Rollback (if needed) + if: failure() + env: + VPS_IP: ${{ secrets.VPS_IP }} + run: | + ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@$VPS_IP ' + cd /home/cleanwalk-backup && + docker compose -f docker-compose.prod.yml up -d --build + ' \ No newline at end of file