From 6fdf9c346417889b4b63795dff934f9fffe07bcc Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Sun, 25 Jan 2026 12:28:18 +0100 Subject: [PATCH] deploy --- .gitea/workflows/deploy.yml | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 8058c998..87cf2d32 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -90,6 +90,7 @@ jobs: REDIS_URL: ${{ secrets.REDIS_URL }} REDIS_KEY_PREFIX: ${{ secrets.REDIS_KEY_PREFIX }} run: | + set +e echo "Starting deployment on server..." # Create environment file for deployment @@ -109,10 +110,15 @@ jobs: set -e # Load environment variables - source /tmp/deploy.env + if [ -f /tmp/deploy.env ]; then + source /tmp/deploy.env + else + echo "ERROR: /tmp/deploy.env not found!" + exit 1 + fi echo '=== Starting deployment ===' - cd /home/deploy/sites/klz-cables.com + cd /home/deploy/sites/klz-cables.com || exit 1 echo '=== Creating .env ===' cat > .env << EOF @@ -174,12 +180,9 @@ jobs: chmod +x /tmp/deploy.sh # SSH options for reliability - SSH_OPTS="-i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=no -o ConnectTimeout=30 -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -o BatchMode=yes" + # Removed IPQoS=0x00 as it sometimes causes "lost connection" on certain networks + SSH_OPTS="-i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=no -o ConnectTimeout=60 -o ServerAliveInterval=15 -o ServerAliveCountMax=10 -o BatchMode=yes" - # Copy files to server - scp $SSH_OPTS /tmp/deploy.sh /tmp/deploy.env deploy@alpha.mintel.me:/tmp/ - - # Execute deployment script on server with retry mechanism MAX_RETRIES=3 RETRY_COUNT=0 SUCCESS=false @@ -188,12 +191,22 @@ jobs: RETRY_COUNT=$((RETRY_COUNT + 1)) echo "Deployment attempt $RETRY_COUNT of $MAX_RETRIES..." - if ssh $SSH_OPTS deploy@alpha.mintel.me "bash /tmp/deploy.sh"; then + echo "Copying files to server..." + scp $SSH_OPTS /tmp/deploy.sh /tmp/deploy.env deploy@alpha.mintel.me:/tmp/ + if [ $? -ne 0 ]; then + echo "✗ SCP failed." + sleep 10 + continue + fi + + echo "Executing script on server..." + ssh $SSH_OPTS deploy@alpha.mintel.me "bash /tmp/deploy.sh" + if [ $? -eq 0 ]; then echo "✓ Deployment successful!" SUCCESS=true break else - echo "✗ Deployment attempt $RETRY_COUNT failed." + echo "✗ SSH execution failed." if [ $RETRY_COUNT -lt $MAX_RETRIES ]; then echo "Retrying in 10 seconds..." sleep 10