# DataOps Platform 发布包清单 > 版本以打包日期为准,开发侧执行 `sync_release.sh` + `package_release.sh` 生成。 > 第一阶段 Compose 离线包由 `compose/package_offline.sh` 生成;本清单前半部分的 > Supervisor 文件继续作为既有单机兼容交付。 ## 核心文件 | 文件 | 说明 | |------|------| | `deploy_dataops.sh` | **一键部署入口**,复制代码、建 venv、配置 Supervisor | | `dataops.env` | 生产环境变量模板 → `/etc/dataops-platform/dataops.env` | | `.env.production.example` | 环境变量说明副本 | | `requirements.txt` | Python 依赖(pip install -r) | | `wsgi.py` | Gunicorn WSGI 入口 | | `gunicorn_config.py` | Gunicorn 配置(post_worker_init 初始化日志) | | `__init__.py` | 包入口(可选) | ## 应用代码 | 目录 | 说明 | |------|------| | `app/` | Flask 应用完整源码 | | `app/config/config.py` | 主配置(含生产默认连接、MinIO/LLM 回退) | | `app/core/llm/deepseek_client.py` | DeepSeek SDK 封装(base_url 规范化) | | `app/core/llm/llm_service.py` | LLM 翻译/SQL 生成 | | `app/core/llm/ddl_parser.py` | DDL 解析(HTTP `/v1/chat/completions`) | | `app/api/` | 全部 API 路由 | | `database/` | PostgreSQL SQL 脚本 | ## 运维脚本 | 脚本 | 说明 | |------|------| | `scripts/dataops-common.sh` | 公共配置、健康检查、Supervisor 配置 | | `scripts/run_dataops.sh` | Supervisor 调用,加载 env 启动 Gunicorn | | `scripts/start_dataops.sh` | 启动服务 | | `scripts/stop_dataops.sh` | 停止服务 | | `scripts/restart_dataops.sh` | 重启服务 | | `scripts/deploy_dataops.sh` | 已安装环境下的增量部署(可选) | ## 配置模板 | 文件 | 说明 | |------|------| | `config/nginx-dataops-platform.conf` | Nginx 反向代理(SSL、ddlparse 超时) | | `config/supervisor-dataops-platform.conf` | Supervisor 参考配置(deploy 脚本会自动生成) | ## 开发/打包工具 | 脚本 | 说明 | |------|------| | `sync_release.sh` | 从仓库根目录同步最新代码到 deployment/ | | `package_release.sh` | 打包 `dist/dataops-platform-release-YYYYMMDD.tar.gz` | | `compose/package_offline.sh` | 生成含默认镜像、版本清单和 SHA-256 的 Compose 离线包 | | `compose/product_engineering.py` | 环境、就绪、晋级、迁移、版本清单和 SBOM 控制面 | | `compose/reproducible_archive.py` | 生成规范时间戳、属主、权限和顺序的可复现归档 | ## WP13 Compose 运维 | 文件 | 说明 | |---|---| | `compose/preflight.sh` | 校验包、Compose、镜像和 Alembic current/head | | `compose/install_offline.sh` | 先验签、载入镜像、`--no-build` 启动和健康检查 | | `compose/backup.sh` | PostgreSQL 逻辑导出、维护窗口和全部托管卷冷快照 | | `compose/restore.sh` | 精确目标确认、同名拒绝、先验签和新项目恢复 | | `compose/rollback.sh` | 使用上一版离线包和升级前备份恢复候选项目 | | `compose/.env.rehearsal.example` | 隔离恢复演练的端口和网络模板 | | `environments/` | 开发、测试和预生产隔离配置及差异检查输入 | | `compose/README.md` | 离线交付、备份、恢复、回滚和企业门禁 | ## 文档 | 文件 | 说明 | |------|------| | `README.md` | 快速开始 | | `DEPLOYMENT_GUIDE.md` | 完整部署手册 | | `CHECKLIST.md` | 部署检查清单 | | `MANIFEST.md` | 本文件 | ## 部署目标路径 | 源 | 目标 | |----|------| | `app/` | `/opt/dataops-platform/app/` | | `database/` | `/opt/dataops-platform/database/` | | `scripts/` | `/opt/dataops-platform/scripts/` | | `requirements.txt` 等 | `/opt/dataops-platform/` | | `dataops.env` | `/etc/dataops-platform/dataops.env` | ## 近期重要变更(2026-07) - 发布副本与 `app/`、`database/`、`migrations/` 完整同步并建立一致性测试 - 默认应用镜像使用稳定离线标签,全部对外端口支持恢复项目隔离覆盖 - Compose 离线包包含默认 profile 镜像、版本清单和全文件 SHA-256 - 备份恢复默认失败关闭、禁止同项目原位恢复、禁止数据库 downgrade - 开发/测试/预生产隔离配置、六类就绪监控、受控晋级和客户迁移 dry-run - 固定构建时间的可复现离线归档,以及 OpenAPI、SBOM、迁移和源码互相追溯 ## 历史重要变更(2026-05) - DeepSeek:`LLM_BASE_URL=https://api.deepseek.com`,模型默认 `deepseek-v4-pro` - `ddl_parser` 修正 API 路径为 `/v1/chat/completions` - MinIO 配置整组加载,避免 host/密钥混搭 - 翻译接口修复空结果回退逻辑 - 运维脚本统一 LF,env 权限 640 root:ubuntu - Gunicorn 日志绝对路径 `LOG_FILE`