新增NAS部署脚本并补齐Mock数据库环境变量
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
# Deploy To NAS Shell 入口实施记录
|
||||
|
||||
## 本次改动
|
||||
|
||||
- 新增 `deploy/deploy-to-nas.sh`,提供适用于当前 Unix 环境的 NAS 部署入口。
|
||||
- 保留原有默认参数:`host`、`port`、`username`、`password`、`remoteRoot`。
|
||||
- 保持与原 BAT 一致的位置参数协议,并继续支持 `--dry-run` 快速校验。
|
||||
- 在 Shell 入口内完成本地环境检查、后端打包、前端打包、部署目录组装、`paramiko` 依赖检查与远端部署调用。
|
||||
- 复用现有 `deploy/remote-deploy.py`,不改动 NAS 端上传与 Docker Compose 执行逻辑。
|
||||
- 新增 `tests/deploy/test_deploy_to_nas.py`,覆盖默认参数和覆盖参数两类 `dry-run` 行为。
|
||||
|
||||
## 变更文件
|
||||
|
||||
- `deploy/deploy-to-nas.sh`
|
||||
- `tests/deploy/test_deploy_to_nas.py`
|
||||
|
||||
## 验证结果
|
||||
|
||||
- `python3 -m pytest tests/deploy/test_deploy_to_nas.py -q`
|
||||
- `bash -n deploy/deploy-to-nas.sh`
|
||||
- `bash deploy/deploy-to-nas.sh --dry-run`
|
||||
|
||||
## 说明
|
||||
|
||||
- 当前环境未预装 `paramiko`,脚本会在真实部署前自动执行 `python3 -m pip install --user paramiko`。
|
||||
- 本次未执行真实 NAS 部署,只完成了脚本级与 `dry-run` 级验证,避免在未明确要求下直接触发线上构建上传。
|
||||
@@ -0,0 +1,33 @@
|
||||
# LSFX Mock 数据库环境变量修复记录
|
||||
|
||||
## 本次改动
|
||||
|
||||
- 修复 NAS 部署后 `lsfx-mock-server` 未注入员工库连接参数的问题。
|
||||
- 在根目录 `docker-compose.yml` 的 `lsfx-mock-server` 服务中补充:
|
||||
- `CCDI_DB_HOST`
|
||||
- `CCDI_DB_PORT`
|
||||
- `CCDI_DB_NAME`
|
||||
- `CCDI_DB_USERNAME`
|
||||
- `CCDI_DB_PASSWORD`
|
||||
- 在根目录 `.env.example` 中补充对应示例值,便于后续按环境覆盖。
|
||||
- 新增部署配置测试,保证 Mock 容器必须携带上述数据库参数默认值。
|
||||
|
||||
## 根因说明
|
||||
|
||||
- `lsfx-mock-server` 在容器内启动时没有 `CCDI_DB_*` 环境变量。
|
||||
- `config/settings.py` 在容器内无法从主项目配置路径解析出数据库默认值,最终得到空字符串主机名。
|
||||
- `PyMySQL` 在主机名为空时退化为按 `localhost` 建连,容器内没有本地 MySQL,因此上传接口调用员工库时报 `Can't connect to MySQL server on 'localhost'`。
|
||||
|
||||
## 变更文件
|
||||
|
||||
- `docker-compose.yml`
|
||||
- `.env.example`
|
||||
- `tests/deploy/test_lsfx_mock_deploy_config.py`
|
||||
|
||||
## 验证结果
|
||||
|
||||
- `python3 -m pytest tests/deploy -q`
|
||||
- 重新执行 `bash deploy/deploy-to-nas.sh`
|
||||
- 容器内读取 `settings.CCDI_DB_HOST`,结果为 `192.168.0.111`
|
||||
- 容器内执行数据库 `SELECT 1` 成功
|
||||
- 调用 `POST /watson/api/project/remoteUploadSplitFile` 返回 `200 OK`
|
||||
Reference in New Issue
Block a user