| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #!/bin/bash
- # LangGraph 部署脚本
- # 用法: ./deploy.sh
- #
- # 说明:
- # cfc-langgraph 以 Docker 镜像方式部署 —— Dockerfile 在构建时把 app/ 等代码 COPY 进镜像,
- # 因此代码变更必须「重新 build 镜像 + 重建容器」才能生效;仅 restart 不会加载新代码。
- # 本脚本在服务器上就地执行(服务地址 https://ai.etotem.com.cn,容器端口 9000)。
- #
- # 历史:旧版本 rsync 到 /opt/sc-data/cfc/cfc-langgraph 后执行 docker-compose restart,
- # 该路径已不存在,且 restart 无法更新镜像,故重写为就地 build + up。
- set -e
- SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
- cd "$SCRIPT_DIR"
- echo "=== LangGraph Deploy ==="
- echo "目录: $SCRIPT_DIR"
- echo "[1/3] 构建镜像 (langgraph-svc)..."
- docker compose build langgraph-svc
- echo "[2/3] 重建并启动服务..."
- docker compose up -d langgraph-svc
- echo "[3/3] 健康检查..."
- ok=0
- for i in $(seq 1 30); do
- if curl -sf "https://ai.etotem.com.cn/health" > /dev/null 2>&1; then
- ok=1
- break
- fi
- echo " 等待服务就绪 ($i/30)..."
- sleep 5
- done
- if [ "$ok" = "1" ]; then
- echo "✅ 部署成功!服务地址: https://ai.etotem.com.cn"
- curl -s "https://ai.etotem.com.cn/api/v1/health" | python3 -m json.tool 2>/dev/null || true
- else
- echo "❌ 健康检查失败,请查看日志: docker compose -f ${SCRIPT_DIR}/docker-compose.yml logs langgraph-svc --tail=50"
- exit 1
- fi
|