diff --git a/.gitea/workflows/deploy-cd-server.yaml b/.gitea/workflows/deploy-cd-server.yaml index 9d5446f..b35f715 100644 --- a/.gitea/workflows/deploy-cd-server.yaml +++ b/.gitea/workflows/deploy-cd-server.yaml @@ -75,6 +75,21 @@ jobs: echo "[deploy] Starting CD server container" sudo -u deploy docker compose -f "$DEPLOY_DIR/docker-compose.yml" up -d --force-recreate + echo "[deploy] Waiting for container to be running" + for i in {1..15}; do + if docker ps --filter "name=$SERVICE_NAME" --filter "status=running" --format "{{.ID}}" | grep -q .; then + echo "[deploy] Container is running" + break + fi + if [ "$i" -eq 15 ]; then + echo "[deploy] Container failed to start" + docker ps -a --filter "name=$SERVICE_NAME" --format "table {{.Names}}\t{{.Status}}" + docker logs "$SERVICE_NAME" || true + exit 1 + fi + sleep 2 + done + echo "[deploy] Waiting for service to be healthy" for i in {1..30}; do if curl -s http://127.0.0.1:3333/health > /dev/null; then @@ -83,7 +98,7 @@ jobs: fi if [ "$i" -eq 30 ]; then echo "[deploy] Service failed health check" - sudo docker logs cd-server --no-pager || true + docker logs "$SERVICE_NAME" || true exit 1 fi sleep 2