Skip to content

Commit 8f57192

Browse files
committed
debug: add set -e and verbose logging to SSH steps
1 parent dcba696 commit 8f57192

1 file changed

Lines changed: 31 additions & 4 deletions

File tree

.github/workflows/aws-ec2-deploy.yml

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,12 @@ jobs:
9090
timeout: 120s
9191
envs: DOCKERHUB_USERNAME,REPORTS_BUCKET_NAME
9292
script: |
93+
set -e
94+
echo "Starting deployment..."
95+
9396
cd ~/distributed-report-queue
9497
98+
echo "Creating .env file..."
9599
cat > .env << EOF
96100
REDIS_HOST=redis
97101
REDIS_PORT=6379
@@ -103,14 +107,25 @@ jobs:
103107
AWS_REGION=ap-southeast-1
104108
EOF
105109
110+
echo "Verifying .env content (DOCKERHUB_USERNAME should be visible)..."
111+
grep DOCKERHUB_USERNAME .env
112+
106113
# Copy .env to infra for docker-compose interpolation
107114
cp .env infra/.env
108115
109116
cd infra
117+
echo "Stopping existing services..."
110118
docker-compose -f docker-compose.prod.yml down --remove-orphans
119+
120+
echo "Pulling latest images..."
111121
docker-compose -f docker-compose.prod.yml pull
122+
123+
echo "Starting services..."
112124
docker-compose -f docker-compose.prod.yml up -d --scale worker=2
125+
126+
echo "Cleaning up old images..."
113127
docker system prune -af --volumes=false
128+
echo "Deployment script finished successfully."
114129
115130
- name: Verify Deployment
116131
uses: appleboy/ssh-action@master
@@ -123,14 +138,24 @@ jobs:
123138
timeout: 120s
124139
envs: DOCKERHUB_USERNAME
125140
script: |
126-
sleep 30
127-
141+
set -e
128142
cd ~/distributed-report-queue/infra
129143
144+
echo "Checking initialization logs (user-data.log)..."
145+
if [ -f /var/log/user-data.log ]; then
146+
tail -n 20 /var/log/user-data.log || true
147+
else
148+
echo "user-data.log not found."
149+
fi
150+
151+
echo "Waiting 30 seconds for services to stabilize..."
152+
sleep 30
153+
130154
echo "Checking container status..."
131155
docker-compose -f docker-compose.prod.yml ps
132156
133157
# Test all endpoints
158+
echo "Running health checks..."
134159
PRODUCER_STATUS=$(curl -sf http://localhost:5001/health || echo "unreachable")
135160
API_STATUS=$(curl -sf http://localhost:5003/health || echo "unreachable")
136161
@@ -142,11 +167,13 @@ jobs:
142167
exit 0
143168
else
144169
echo "Deployment verification failed!"
170+
echo "--- Docker Stats ---"
171+
docker stats --no-stream || true
145172
echo "--- Container Status ---"
146173
docker-compose -f docker-compose.prod.yml ps
147174
echo "--- Producer Logs ---"
148-
docker-compose -f docker-compose.prod.yml logs producer | tail -n 20
175+
docker-compose -f docker-compose.prod.yml logs producer | tail -n 50 || true
149176
echo "--- Dashboard API Logs ---"
150-
docker-compose -f docker-compose.prod.yml logs dashboard-api | tail -n 20
177+
docker-compose -f docker-compose.prod.yml logs dashboard-api | tail -n 50 || true
151178
exit 1
152179
fi

0 commit comments

Comments
 (0)