|
|
3 일 전 | |
|---|---|---|
| .. | ||
| .env.rehearsal.example | 3 주 전 | |
| README.md | 2 주 전 | |
| backend.Dockerfile.eai | 3 일 전 | |
| backup.sh | 3 주 전 | |
| docker-compose.eai-18188.yml | 3 일 전 | |
| frontend.Dockerfile.eai | 3 일 전 | |
| install_offline.sh | 2 주 전 | |
| package_offline.sh | 3 일 전 | |
| preflight.sh | 2 주 전 | |
| product_engineering.py | 2 주 전 | |
| reproducible_archive.py | 2 주 전 | |
| restore.sh | 3 주 전 | |
| rollback.sh | 3 주 전 | |
| runner.Dockerfile.eai | 3 일 전 | |
| wp13-common.sh | 2 주 전 | |
本目录提供首期示范环境的可执行交付链。它以
deploy/docker/docker-compose.yml 为唯一 Compose 定义,不建立第二套人工维护的
服务清单。
先同步发布副本并构建默认服务镜像:
bash deployment/sync_release.sh
docker compose -f deploy/docker/docker-compose.yml build backend runner frontend
bash deployment/compose/package_offline.sh --version <发布版本>
产物位于 dist/dataops-platform-offline-<发布版本>.tar.gz,包含默认 profile
所需镜像、Compose 配置、数据库迁移、三环境配置、OpenAPI、CycloneDX SBOM、
可追溯版本清单和全文件 SHA-256。固定 --source-date-epoch 时,相同输入生成相同归档。
可选的 MCP、LightRAG shadow profile 不属于示范版默认启动范围,应另行生成并验收
扩展镜像包。
tar -xzf dataops-platform-offline-<发布版本>.tar.gz
cd dataops-platform-offline-<发布版本>
cp deploy/docker/.env.example deploy/docker/.env.local
# 通过企业批准的密钥渠道填写 .env.local,不在终端或工单中粘贴密钥。
bash operations/install_offline.sh \
--bundle-root "$PWD" \
--environment-profile environments/test.json
安装顺序固定为:校验全部文件、载入镜像、解析 Compose、检查镜像、启动
--no-build、等待健康、核对 Alembic current/head。升级不调用数据库 downgrade。
备份会先导出 PostgreSQL 逻辑备份,再在明确的维护窗口内停止 Compose 项目, 对所有带该项目标签的卷做一致性快照,最后自动重启原项目:
bash deployment/compose/backup.sh \
--compose-file deploy/docker/docker-compose.yml \
--project-name dataops-test \
--output-dir /safe/dataops-backups/<备份编号> \
--confirm-maintenance-window
输出包括 postgres-all.sql、alembic-current.txt、所有卷归档、
backup-manifest.txt 和 checksums.sha256。备份目录不得放入 Git。生产环境还需
复制到独立故障域、加密并按企业保留策略管理。
默认禁止原项目原位恢复。演练必须使用新的项目名、独立端口和精确确认:
cp deployment/compose/.env.rehearsal.example /tmp/wp13-rehearsal.env
bash deployment/compose/restore.sh \
--backup-dir /safe/dataops-backups/<备份编号> \
--compose-file deploy/docker/docker-compose.yml \
--env-file /tmp/wp13-rehearsal.env \
--project-name dataops-wp13-restore \
--confirm-project dataops-wp13-restore \
--start
恢复先验签,再确认目标不存在,随后创建目标项目专属卷并解包。任何确认不一致、 校验失败、目标已存在或与源项目同名的情况都会在写入前失败关闭。
回滚需要同时指定“上一版离线包”和“升级前备份”,并恢复到新的候选项目。验证完成 后由变更负责人执行流量切换:
bash <上一版目录>/operations/rollback.sh \
--release-root <上一版目录> \
--backup-dir <升级前备份> \
--env-file /tmp/wp13-rehearsal.env \
--project-name dataops-rollback-candidate \
--confirm-project dataops-rollback-candidate \
--start
本流程不会执行 Alembic downgrade。正式生产切换、旧项目下线和备份删除均需要企业 变更审批,不由脚本自动执行。
product_engineering.py 提供环境差异、Compose 六类就绪采集、治理对象晋级包验证、
客户迁移 dry-run、版本清单和 SBOM 生成。详细输入契约和操作步骤见
docs/runbooks/P2_WP11_PRODUCT_DELIVERY_RUNBOOK.md。晋级和迁移命令只生成/验证证据,
不自动修改目标环境或客户源系统。