name: 构建并部署 AI Agent 服务 on: push: branches: [ main, master ] workflow_dispatch: jobs: deploy: runs-on: ubuntu-latest steps: - name: 检出代码 uses: actions/checkout@v4.1.1 - name: 检查 Python 环境 run: | python3 --version pip3 --version - name: 确保基础镜像已拉取 run: | docker pull python:3.11-slim || true docker pull postgres:16 || true - name: 构建并启动前后端服务(环境变量注入) env: ZHIPUAI_API_KEY: ${{ secrets.ZHIPUAI_API_KEY }} VLLM_LOCAL_KEY: ${{ secrets.VLLM_LOCAL_KEY }} run: | export DOCKER_BUILDKIT=1 docker compose -f docker/docker-compose.yml up -d --build backend frontend - name: 健康检查 run: | echo "等待后端服务启动..." sleep 15 for i in {1..10}; do if curl -f http://localhost:8001/ > /dev/null 2>&1; then echo "✅ 后端服务正常" exit 0 fi echo "等待中... ($i/10)" sleep 5 done echo "❌ 后端服务未就绪,查看日志:" docker compose -f docker/docker-compose.yml logs backend --tail 50 exit 1 - name: 清理无用的 Docker 资源 run: docker system prune -f - name: 显示运行状态 run: docker compose -f docker/docker-compose.yml ps