ci: add NestJS build + deploy — npm ci + prisma + nest build + rsync + restart
Some checks failed
Deploy API Server / build-and-deploy (push) Failing after 23s

This commit is contained in:
WangDL 2026-05-22 10:04:47 +08:00
parent 34774e5325
commit ea7f6736df

View File

@ -16,6 +16,17 @@ jobs:
git clone http://10.2.0.7:3000/suche-Hermes/api-server.git /tmp/api-server git clone http://10.2.0.7:3000/suche-Hermes/api-server.git /tmp/api-server
fi fi
- name: Install dependencies
run: |
cd /tmp/api-server
npm ci
- name: Build
run: |
cd /tmp/api-server
npx prisma generate
npm run build
- name: Ensure infrastructure is ready - name: Ensure infrastructure is ready
run: | run: |
docker start mysql redis qdrant 2>/dev/null || true docker start mysql redis qdrant 2>/dev/null || true
@ -39,20 +50,40 @@ jobs:
echo "[deploy] No failed migrations found" echo "[deploy] No failed migrations found"
fi fi
- name: Run database migrations
run: |
cd /tmp/api-server
npx prisma migrate deploy
- name: Deploy NestJS API
run: |
rsync -av --delete \
/tmp/api-server/dist/ /opt/zhixi/backend/dist/
rsync -av --delete \
/tmp/api-server/node_modules/ /opt/zhixi/backend/node_modules/
rsync -av \
/tmp/api-server/prisma/ /opt/zhixi/backend/prisma/
rsync -av \
/tmp/api-server/package.json /opt/zhixi/backend/package.json
- name: Restart API service
run: |
sudo systemctl restart zhixi-api
sleep 3
sudo systemctl is-active zhixi-api
echo "[deploy] zhixi-api active OK"
- name: Deploy RAG Worker - name: Deploy RAG Worker
run: | run: |
set -e set -e
WORKER_DIR="/opt/zhixi/backend/rag-worker" WORKER_DIR="/opt/zhixi/backend/rag-worker"
mkdir -p "$WORKER_DIR" mkdir -p "$WORKER_DIR"
rsync -av --delete --exclude='.env' --exclude='__pycache__' \ rsync -av --delete --exclude='.env' --exclude='__pycache__' \
/tmp/api-server/rag-worker/ "$WORKER_DIR/" /tmp/api-server/rag-worker/ "$WORKER_DIR/"
sudo cp "$WORKER_DIR/zhixi-worker.service" /etc/systemd/system/ sudo cp "$WORKER_DIR/zhixi-worker.service" /etc/systemd/system/
sudo systemctl daemon-reload sudo systemctl daemon-reload
sudo systemctl restart zhixi-worker sudo systemctl restart zhixi-worker
sleep 5 sleep 5
sudo systemctl is-active zhixi-worker sudo systemctl is-active zhixi-worker
echo "[deploy] zhixi-worker active OK" echo "[deploy] zhixi-worker active OK"