Files
ailine/.gitea/workflows/deploy.yml
root 51089bbf15
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 5m30s
添加配置
2026-04-21 22:51:12 +08:00

91 lines
2.8 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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: 验证 Secrets 配置
run: |
echo "🔐 检查环境变量注入情况..."
check_secret() {
local name="$1"
local desc="$2"
local value="${!name}"
if [ -n "$value" ]; then
echo "✅ ${name} 已注入(长度:${#value}"
else
echo "⚠️ ${name} 未注入(${desc}"
fi
}
check_secret "ZHIPUAI_API_KEY" "智谱模型不可用"
check_secret "DEEPSEEK_API_KEY" "DeepSeek模型不可用"
check_secret "LLAMACPP_API_KEY" "本地LLM/Embedding不可用"
check_secret "DB_PASSWORD" "PostgreSQL数据库不可用"
check_secret "QDRANT_API_KEY" "Qdrant向量数据库不可用"
echo ""
echo "💡 提示:如果看到警告,请在 Gitea 仓库 Settings → Secrets 中添加对应密钥"
env:
ZHIPUAI_API_KEY: ${{ secrets.ZHIPUAI_API_KEY }}
DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}
LLAMACPP_API_KEY: ${{ secrets.LLAMACPP_API_KEY }}
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
QDRANT_API_KEY: ${{ secrets.QDRANT_API_KEY }}
- name: 确保基础镜像已拉取
run: |
docker pull python:3.11-slim || true
- name: 构建并启动前后端服务(环境变量注入)
env:
ZHIPUAI_API_KEY: ${{ secrets.ZHIPUAI_API_KEY }}
DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}
LLAMACPP_API_KEY: ${{ secrets.LLAMACPP_API_KEY }}
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
QDRANT_API_KEY: ${{ secrets.QDRANT_API_KEY }}
run: |
export DOCKER_BUILDKIT=1
cd docker
docker compose up -d --build backend frontend
- name: 健康检查
run: |
echo "等待后端服务启动..."
sleep 30
for i in {1..10}; do
# 修正端口为 8079
if curl -f http://172.17.0.1:8079/health > /dev/null 2>&1; then
echo "✅ 后端服务正常"
exit 0
fi
echo "等待中... ($i/10)"
sleep 5
done
echo "❌ 后端服务未就绪,查看日志:"
cd docker
docker compose logs backend --tail 50
exit 1
- name: 清理无用的 Docker 资源
run: docker system prune -f
- name: 显示运行状态
run: |
cd docker
docker compose ps