# SignalScout 部署 SignalScout 使用和 `agent-desk` 一致的 Gitea + Jenkins 发布链路。 ## 服务器路径 - Gitea 仓库:`gitadmin/signalscout-backend` - Jenkins Job:`signalscout-backend` - 源码目录:`/opt/signalscout-source` - 发布目录:`/opt/signalscout` - systemd 服务:`signalscout` - 本机监听:`127.0.0.1:8020` - 线上域名:`https://signalscout.jaycode.online` ## 流水线 Jenkins 从 Gitea 仓库读取根目录 `Jenkinsfile`,然后通过已有凭据 SSH 到服务器执行: ```bash deployment/jenkins/deploy_backend.sh ``` 脚本负责: - 从 Gitea 拉取 `main` 分支 - 创建测试虚拟环境 - 执行 `ruff` 和 `pytest` - 生成发布目录 - 执行 Alembic 迁移和主题种子初始化 - 重启 `signalscout` systemd 服务 - 检查本机和公网健康接口 ## Nginx 与 Cloudflare Tunnel 域名通过 Cloudflare Tunnel 进入服务器,Nginx 监听本机端口: ```nginx server { listen 127.0.0.1:8360; server_name signalscout.jaycode.online; location / { proxy_pass http://127.0.0.1:8020; } } ``` Cloudflare Tunnel ingress 指向: ```yaml - hostname: signalscout.jaycode.online service: http://127.0.0.1:8360 ```