Files
opc-manager/deploy/服务器配置任务提示词.md
mac 25da1453be
Some checks failed
Deploy / deploy (push) Failing after 1s
新增自动化部署:Gitea Actions + systemd + gunicorn
- .gitea/workflows/deploy.yml:push main 自动触发部署
- requirements.txt:Python 依赖清单
- deploy/opc-manager.service:systemd 服务(gunicorn --preload -w 4)
- deploy/README.md:完整部署指南
- deploy/服务器配置任务提示词.md:给服务器管理 Agent 的操作提示词
- health 接口简化返回 {ok, service}
2026-06-23 19:33:16 +08:00

3.2 KiB
Raw Blame History

OPC-Manager 自动化部署配置任务

背景

OPC-Manager 项目Flask + MySQL端口 5177需要配置 Gitea Actions 自动化部署。参考 SalesManager 的模式push 到 main 分支后自动部署到业务服务器。部署工作流文件已写好(.gitea/workflows/deploy.yml),需要在服务器上完成一次性准备。

服务器信息

  • 业务服务器82.157.208.197SSH 别名 ssh business
  • Gitea 地址:https://git.qiukai.me
  • 仓库qiukai/opc-manager
  • 服务端口5177
  • MySQL已安装8.0.45,系统服务),数据库 opc,用户 opc/opc123456

需要完成的 5 个步骤

1. 安装 Gitea Actions Runner

在业务服务器上安装 act_runner 并注册到 Gitea

2. 创建部署目录结构

mkdir -p /opt/opc-manager/{releases,shared/uploads}

3. 创建 .env 文件

/opt/opc-manager/shared/.env 创建环境变量文件:

SECRET_KEY=随机生成32位以上字符串
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USER=opc
DB_PASSWORD=opc123456
DB_NAME=opc
FLASK_DEBUG=false

权限设为 600。

4. 安装 systemd service

创建 /etc/systemd/system/opc-manager.service

[Unit]
Description=OPC Manager (Flask)
After=network.target mysql.service

[Service]
Type=simple
WorkingDirectory=/opt/opc-manager/current
ExecStart=/opt/opc-manager/current/.venv/bin/gunicorn --preload -w 4 -b 0.0.0.0:5177 backend.flask_app:app
Restart=on-failure
RestartSec=5
EnvironmentFile=/opt/opc-manager/current/.env

[Install]
WantedBy=multi-user.target

执行 systemctl daemon-reload && systemctl enable opc-manager(先不 start等首次部署后自动启动

5. 配置 Gitea Secret

在 Gitea 网页操作(需要用户在浏览器完成):

  • 进入仓库 qiukai/opc-manager → 设置 → Actions → Secrets → New Secret
  • Name: DEPLOY_TOKEN
  • Value: 用户的 Gitea Personal Access Token需 repo 读权限)
    • 生成路径:头像 → 设置 → 应用 → 生成令牌

首次部署验证

准备完成后,在本地执行一次 git push origin main,观察:

  1. Gitea 网页 Actions 页面是否有部署任务在运行
  2. 部署日志是否正常
  3. 部署完成后 curl http://127.0.0.1:5177/api/health 是否返回 {"ok":true,"service":"opc-manager"}
  4. systemctl status opc-manager 是否 active

参考文件

项目的部署工作流在仓库的 .gitea/workflows/deploy.ymlsystemd 模板在 deploy/opc-manager.service,完整说明在 deploy/README.md

注意事项

  • Gitea Runner 的 token 需要用户在浏览器获取后告诉你,你无法自动获取
  • Gitea Secret (DEPLOY_TOKEN) 也需要用户在浏览器配置
  • 如果服务器没有 python3.11+需要先安装OPC-Manager 要求 Python 3.9+
  • 确保服务器已安装 git、rsync、curl一般都有