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