|
|
пре 2 дана | |
|---|---|---|
| .. | ||
| app | пре 2 дана | |
| config | пре 2 дана | |
| database | пре 2 дана | |
| scripts | пре 2 дана | |
| .env.production.example | пре 2 дана | |
| CHECKLIST.md | пре 2 дана | |
| DEPLOYMENT_GUIDE.md | пре 2 дана | |
| MANIFEST.md | пре 2 дана | |
| README.md | пре 2 дана | |
| __init__.py | пре 2 дана | |
| dataops.env | пре 2 дана | |
| deploy_dataops.sh | пре 2 дана | |
| gunicorn_config.py | пре 2 дана | |
| package_release.sh | пре 2 дана | |
| requirements.txt | пре 2 дана | |
| sync_release.sh | пре 2 дана | |
| wsgi.py | пре 2 дана | |
本目录是 生产一键部署发布包,包含应用源码、配置模板、运维脚本与部署文档。部署人员无需克隆完整 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 # 文件清单与版本说明
# 方式 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'
cd /tmp/dataops-platform # 或解压后的 dataops-platform 目录
chmod +x deploy_dataops.sh scripts/*.sh
sudo bash deploy_dataops.sh
脚本会安装 /etc/dataops-platform/dataops.env 并 退出,提示编辑配置。
sudo vim /etc/dataops-platform/dataops.env
# 必改: SECRET_KEY, DEEPSEEK_API_KEY, N8N_API_KEY
# 核对: DATABASE_URL, NEO4J_*, MINIO_*, API_BASE_URL
sudo bash deploy_dataops.sh
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.8+ | 含 venv、pip |
| Supervisor | 进程守护 |
| PostgreSQL 14+ | 关系数据库 |
| Neo4j 5.x | 图数据库 |
| MinIO | 对象存储 |
| n8n | 工作流(可选 API) |
| Nginx | 反向代理(可选) |
| DeepSeek API | LLM 翻译、DDL 解析等 |
脚本会自动安装 python3-venv(Ubuntu apt),其余服务需运维提前部署并保证网络可达。