From b4907f2d2183b28240b55876ae3ec6c04be30734 Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Wed, 21 Jan 2026 11:53:08 +0100 Subject: [PATCH] deploy --- .gitea/workflows/deploy.yml | 45 ++++++++++++------------------------- 1 file changed, 14 insertions(+), 31 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 455edc7..da4984d 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -61,8 +61,6 @@ jobs: - name: Sync files to server run: | echo "Starting file sync to server" - # Use IPQoS=0x00 to prevent connection drops in some network environments - # Use tar to bundle files and send them via SSH in a single connection tar czf - docker-compose.y*ml | \ ssh -i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=no -o IPQoS=0x00 -o ConnectTimeout=30 deploy@alpha.mintel.me \ "mkdir -p /home/deploy/sites/mb-grid-solutions/ && tar xzvf - -C /home/deploy/sites/mb-grid-solutions/ && echo 'Files synced successfully' && ls -la /home/deploy/sites/mb-grid-solutions/" @@ -74,43 +72,28 @@ jobs: REGISTRY_USER: ${{ secrets.REGISTRY_USER }} REGISTRY_PASS: ${{ secrets.REGISTRY_PASS }} run: | - echo "Starting SSH deploy to server" ssh -i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=no -o IPQoS=0x00 -o ConnectTimeout=30 deploy@alpha.mintel.me " set -ex + echo 'Logging in to registry on server...' - echo "$REGISTRY_PASS" | docker login registry.infra.mintel.me -u "$REGISTRY_USER" --password-stdin + printf '%s\n' '$REGISTRY_PASS' | docker login registry.infra.mintel.me -u '$REGISTRY_USER' --password-stdin echo 'Login successful' cd /home/deploy/sites/mb-grid-solutions echo 'Changed to directory: $(pwd)' ls -la - echo 'Pulling latest images...' - # Try both .yml and .yaml - if [ -f docker-compose.yml ]; then - echo 'Using docker-compose.yml' - docker compose pull - echo 'Pull completed' - docker images registry.infra.mintel.me/mintel/mb-grid-solutions:latest --format 'Image ID after pull: {{.ID}}' - docker compose up -d --force-recreate - echo 'Up completed' - docker ps --filter name=mb-grid-solutions --format 'Containers: {{.Names}} {{.Status}}' - elif [ -f docker-compose.yaml ]; then - echo 'Using docker-compose.yaml' - docker compose -f docker-compose.yaml pull - echo 'Pull completed' - docker images registry.infra.mintel.me/mintel/mb-grid-solutions:latest --format 'Image ID after pull: {{.ID}}' - docker compose -f docker-compose.yaml up -d --force-recreate - echo 'Up completed' - docker ps --filter name=mb-grid-solutions --format 'Containers: {{.Names}} {{.Status}}' - else - echo 'No docker-compose file found!' - ls -la - exit 1 - fi + echo 'Pulling latest image (force check)...' + docker compose pull || echo 'Pull failed - continuing anyway...' - echo 'Pruning old images...' - docker image prune -f - echo 'Deployment completed successfully' + echo 'Force recreating and restarting containers...' + docker compose up -d --force-recreate --no-deps + + echo 'Pruning old images (keep last 24h)...' + docker image prune -f --filter 'until=24h' + + echo 'Deployment finished. Checking status...' + docker compose ps + docker compose logs --tail=20 " - echo "SSH deploy completed" + echo "SSH deploy completed" \ No newline at end of file