马小龙 73991026d1 feat: add governed device quality workbench 3 tuần trước cách đây
..
app 73991026d1 feat: add governed device quality workbench 3 tuần trước cách đây
config a8a0a1c783 修改LLM大模型的使用,不用qwen,用deepseek v4。 3 tháng trước cách đây
database 38326506f0 feat: modernize platform and add datasource pools 1 tháng trước cách đây
migrations 73991026d1 feat: add governed device quality workbench 3 tuần trước cách đây
scripts 38326506f0 feat: modernize platform and add datasource pools 1 tháng trước cách đây
.env.production.example 9b35b4d758 fix: enforce final rule publication trust boundaries 4 tuần trước cách đây
CHECKLIST.md a8a0a1c783 修改LLM大模型的使用,不用qwen,用deepseek v4。 3 tháng trước cách đây
DEPLOYMENT_GUIDE.md a8a0a1c783 修改LLM大模型的使用,不用qwen,用deepseek v4。 3 tháng trước cách đây
MANIFEST.md a8a0a1c783 修改LLM大模型的使用,不用qwen,用deepseek v4。 3 tháng trước cách đây
README.md 9b35b4d758 fix: enforce final rule publication trust boundaries 4 tuần trước cách đây
__init__.py a8a0a1c783 修改LLM大模型的使用,不用qwen,用deepseek v4。 3 tháng trước cách đây
alembic.ini 38326506f0 feat: modernize platform and add datasource pools 1 tháng trước cách đây
dataops.env 9b35b4d758 fix: enforce final rule publication trust boundaries 4 tuần trước cách đây
deploy_dataops.sh 38326506f0 feat: modernize platform and add datasource pools 1 tháng trước cách đây
gunicorn_config.py 38326506f0 feat: modernize platform and add datasource pools 1 tháng trước cách đây
package_release.sh 38326506f0 feat: modernize platform and add datasource pools 1 tháng trước cách đây
requirements.txt 8a4c523cd3 feat: add Kestra DataOps orchestration through V53 1 tháng trước cách đây
sync_release.sh 38326506f0 feat: modernize platform and add datasource pools 1 tháng trước cách đây
wsgi.py a8a0a1c783 修改LLM大模型的使用,不用qwen,用deepseek v4。 3 tháng trước cách đây

README.md

DataOps Platform 发布包

本目录是 生产一键部署发布包,包含应用源码、配置模板、运维脚本与部署文档。部署人员无需克隆完整 Git 仓库,上传本目录或打包后的 tar.gz 即可部署。


目录结构

deployment/
├── app/                         # Flask 应用源码(与仓库 app/ 同步)
├── database/                    # PostgreSQL 初始化/迁移 SQL
├── config/                      # Nginx / Supervisor 配置模板
│   ├── nginx-dataops-platform.conf
│   └── supervisor-dataops-platform.conf
├── scripts/                     # 运维脚本(启停、重启、诊断)
│   ├── dataops-common.sh        # 公共函数
│   ├── deploy_dataops.sh        # 已安装后的增量部署(可选)
│   ├── run_dataops.sh           # Supervisor 启动 Gunicorn
│   ├── start_dataops.sh
│   ├── stop_dataops.sh
│   └── restart_dataops.sh
├── dataops.env                  # 生产环境变量模板(首次部署复制到 /etc)
├── .env.production.example      # 环境变量说明副本
├── requirements.txt             # Python 依赖(固定版本)
├── wsgi.py                      # Gunicorn WSGI 入口
├── gunicorn_config.py           # Gunicorn 配置(含日志初始化)
├── deploy_dataops.sh            # ★ 一键部署入口
├── sync_release.sh              # 开发侧:从仓库同步最新代码到本目录
├── package_release.sh           # 开发侧:打包 tar.gz
├── README.md                    # 本文件(快速开始)
├── DEPLOYMENT_GUIDE.md          # 完整部署与运维手册
├── CHECKLIST.md                 # 部署前后检查清单
└── MANIFEST.md                  # 文件清单与版本说明

快速部署(3 步)

1. 上传到 Ubuntu 服务器

# 方式 A:直接上传 deployment/ 目录
scp -r deployment/ ubuntu@your-server:/tmp/dataops-platform

# 方式 B:使用打包文件(开发机先执行 package_release.sh)
scp dist/dataops-platform-release-*.tar.gz ubuntu@your-server:/tmp/
ssh ubuntu@your-server 'cd /tmp && tar -xzf dataops-platform-release-*.tar.gz'

2. 首次部署(生成环境变量文件)

cd /tmp/dataops-platform   # 或解压后的 dataops-platform 目录
chmod +x deploy_dataops.sh scripts/*.sh
sudo bash deploy_dataops.sh

脚本会安装 /etc/dataops-platform/dataops.env退出,提示编辑配置。

3. 填写配置后再次部署

sudo vim /etc/dataops-platform/dataops.env
# 必改: SECRET_KEY, RULE_GENERATION_RECEIPT_SECRET, DEEPSEEK_API_KEY, N8N_API_KEY
# 核对: DATABASE_URL, NEO4J_*, MINIO_*, API_BASE_URL

sudo bash deploy_dataops.sh

RULE_GENERATION_RECEIPT_SECRET 是 AI 规则解析回执的专用 HMAC 密钥,必须 独立于 SECRET_KEY 生成:

openssl rand -hex 32

将输出只写入 /etc/dataops-platform/dataops.env 或密钥管理系统,不要提交到 仓库。缺少该值时 /api/rules/interpret 会在调用大模型前失败,避免产生无效模型 费用。轮换会使未消费的十分钟回执失效:常规轮换应暂停新解析、等待回执消费或过期, 再统一更新并重启全部后端实例;紧急轮换后需重新解析未提交规则。

可选:同时配置 Nginx

sudo ENABLE_NGINX=1 \
  NGINX_SERVER_NAME=company.citupro.com \
  NGINX_LISTEN_PORT=18183 \
  bash deploy_dataops.sh

SSL 证书路径见 config/nginx-dataops-platform.conf,部署后按实际证书修改。


部署结果

项目 默认值
应用目录 /opt/dataops-platform
环境变量 /etc/dataops-platform/dataops.env
监听地址 0.0.0.0:5500(Gunicorn)
进程管理 Supervisor dataops-platform
应用日志 /opt/dataops-platform/logs/flask_production.log
Supervisor 日志 /var/log/supervisor/dataops-platform.log

日常运维

# 健康检查
curl http://127.0.0.1:5500/api/system/health

# 启停
sudo /opt/dataops-platform/scripts/start_dataops.sh
sudo /opt/dataops-platform/scripts/stop_dataops.sh
sudo /opt/dataops-platform/scripts/restart_dataops.sh

# 查看日志
tail -f /opt/dataops-platform/logs/flask_production.log
tail -f /var/log/supervisor/dataops-platform.log

开发侧:更新发布包

在仓库根目录执行:

bash deployment/sync_release.sh    # 同步 app/、database/、scripts/ 等
bash deployment/package_release.sh # 生成 dist/dataops-platform-release-YYYYMMDD.tar.gz

详细文档


外部依赖(需提前安装)

服务 说明
Python 3.11 含 venv、pip
Supervisor 进程守护
PostgreSQL 14+ 关系数据库
Neo4j 5.x 图数据库
MinIO 对象存储
n8n 工作流(可选 API)
Nginx 反向代理(可选)
DeepSeek API LLM 翻译、DDL 解析等

脚本会自动安装 python3-venv(Ubuntu apt),其余服务需运维提前部署并保证网络可达。