fix: add verbose deploy diagnostics

Enable strict shell tracing and explicit progress logs in the EC2 deploy block so container replacement failures are visible and easier to debug.
This commit is contained in:
talatops 2026-03-30 21:43:30 +05:00
parent e6b4b27350
commit 870e83877c

View File

@ -71,7 +71,7 @@ jobs:
- name: Deploy on EC2 with docker compose
run: |
ssh -i ssh_key.pem -o StrictHostKeyChecking=no ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << 'ENDSSH'
set -e
set -euxo pipefail
cd ${{ env.REMOTE_DIR }}
echo "=== BEFORE DEPLOY ==="
docker compose -f docker-compose.ec2.yml --env-file .env ps || true
@ -79,10 +79,13 @@ jobs:
docker load -i junohub-app_${{ env.IMAGE_TAG }}.tar
rm -f junohub-app_${{ env.IMAGE_TAG }}.tar
echo "Loaded new image tar successfully"
echo "=== START DB / ENSURE EXTENSION ==="
docker compose -f docker-compose.ec2.yml --env-file .env up -d --remove-orphans db
echo "DB up command completed"
docker compose -f docker-compose.ec2.yml --env-file .env exec -T db sh -lc "psql -U \"\${POSTGRES_USER:-postgres}\" -d \"\${POSTGRES_DB:-dropshipping}\" -c \"CREATE EXTENSION IF NOT EXISTS vector;\""
echo "Vector extension check completed"
# Stop and replace app container only (no volume removal)
echo "=== REPLACE APP CONTAINER ==="
@ -91,6 +94,7 @@ jobs:
# Fallback in case old container is detached from compose state but still running with the canonical name.
docker rm -f juno-app-1 2>/dev/null || true
docker compose -f docker-compose.ec2.yml --env-file .env up -d --no-deps --remove-orphans app
echo "App replace command completed"
echo "=== AFTER DEPLOY ==="
docker compose -f docker-compose.ec2.yml --env-file .env ps