diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 67feabb..ac64bbf 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -132,23 +132,27 @@ jobs: chmod 600 ~/.ssh/known_hosts - name: Install rsync run: apt-get update -qq && apt-get install -y rsync openssh-client + # S1 — НЕ блокирующий: при недоступности S1 (downtime) деплой не должен + # валиться, главное доставить на S2. ConnectTimeout 20с чтобы не висеть. - name: Deploy to S1 (85.175.7.40:1998) + continue-on-error: true run: | rsync -az --delete-after --human-readable --exclude=wiki --exclude=kubikon-assets \ - -e "ssh -i ~/.ssh/id_deploy -o UserKnownHostsFile=~/.ssh/known_hosts -p 1998" \ + -e "ssh -i ~/.ssh/id_deploy -o UserKnownHostsFile=~/.ssh/known_hosts -o ConnectTimeout=20 -p 1998" \ build/ min@85.175.7.40:/var/www/rublox-studio/build/ - name: Deploy to S2 (192.168.0.124:22, runner в той же сети) run: | rsync -az --delete-after --human-readable --exclude=wiki --exclude=kubikon-assets \ -e "ssh -i ~/.ssh/id_deploy -o UserKnownHostsFile=~/.ssh/known_hosts -p 22" \ build/ min@192.168.0.124:/var/www/rublox-studio/build/ - - name: Verify deploy + - name: Verify S1 (не блокирующий) + continue-on-error: true run: | - echo "=== S1 ===" - ssh -i ~/.ssh/id_deploy -o UserKnownHostsFile=~/.ssh/known_hosts -p 1998 \ + ssh -i ~/.ssh/id_deploy -o UserKnownHostsFile=~/.ssh/known_hosts -o ConnectTimeout=20 -p 1998 \ min@85.175.7.40 \ "ls /var/www/rublox-studio/build/index.html && du -sh /var/www/rublox-studio/build/" - echo "=== S2 ===" + - name: Verify S2 (обязательный) + run: | ssh -i ~/.ssh/id_deploy -o UserKnownHostsFile=~/.ssh/known_hosts -p 22 \ min@192.168.0.124 \ "ls /var/www/rublox-studio/build/index.html && du -sh /var/www/rublox-studio/build/"