fix: API Dockerfile 添加 scripts/ 目录,修复 deploy-production 验证脚本缺失 #95

Merged
xiaoxia merged 1 commits from fix/deploy-production-scripts into main 2026-06-29 09:32:20 +08:00
Owner

问题

deploy-production.sh 在 API 容器内执行 python /app/scripts/validate_release_env.py,但当前 infra/docker/api.Dockerfile 未将 scripts/ 目录拷贝到镜像中,导致容器内找不到该文件,Deploy 步骤失败。

修复

api.Dockerfile 的应用代码拷贝区域添加:

COPY scripts/ /app/scripts/

验证

  • scripts/validate_release_env.py 在仓库中存在(146行)
  • 修改后 API 镜像将包含 /app/scripts/validate_release_env.py,部署验证步骤可正常执行
## 问题 `deploy-production.sh` 在 API 容器内执行 `python /app/scripts/validate_release_env.py`,但当前 `infra/docker/api.Dockerfile` 未将 `scripts/` 目录拷贝到镜像中,导致容器内找不到该文件,Deploy 步骤失败。 ## 修复 在 `api.Dockerfile` 的应用代码拷贝区域添加: ```dockerfile COPY scripts/ /app/scripts/ ``` ## 验证 - `scripts/validate_release_env.py` 在仓库中存在(146行) - 修改后 API 镜像将包含 `/app/scripts/validate_release_env.py`,部署验证步骤可正常执行
xiaoxia added 1 commit 2026-06-29 09:13:42 +08:00
fix: API Dockerfile 添加 scripts/ 目录拷贝
Tests / lint (pull_request) Failing after 243h40m17s
Tests / test (pull_request) Failing after 243h40m17s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 243h40m52s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 243h40m53s
4f9feb8c5a
deploy-production.sh 在 API 容器内执行
python /app/scripts/validate_release_env.py,
当前 Dockerfile 未 COPY scripts 目录导致文件不存在、Deploy 步骤失败。

添加 COPY scripts/ /app/scripts/ 使部署验证脚本可用。
xiaoxia merged commit 5650950900 into main 2026-06-29 09:32:20 +08:00
Author
Owner

代码审计结果: 通过

Head SHA: 4f9feb8c5a176e44382baf7f08311272

变更内容

文件 变更 说明
infra/docker/api.Dockerfile +1 行 新增 COPY scripts/ /app/scripts/

审查详情

  1. 问题确认
    scripts/deploy_production.sh 在部署流程中执行 python /app/scripts/validate_release_env.py,但原 Dockerfile 未将 scripts/ 目录拷贝进镜像,导致容器内找不到该脚本,deploy 步骤失败。

  2. 修复正确性
    新增 COPY scripts/ /app/scripts/ 放置在 COPY 应用代码区域,位置合理(紧跟 COPY alembic/ 之后)。

  3. 源文件验证
    scripts/validate_release_env.py(4478 bytes)在仓库中存在,功能为检查生产环境变量是否包含占位符(如 CHANGE_MEexample.com 等),属于安全校验脚本,内容无风险。

  4. 影响范围
    仅新增一行 COPY 指令,不影响现有镜像层和构建逻辑。scripts/ 目录中包含 30 个运维脚本,体积可控。

结论:修复简洁有效,可以合并。

## 代码审计结果:✅ 通过 **Head SHA**: `4f9feb8c5a176e44382baf7f08311272` ### 变更内容 | 文件 | 变更 | 说明 | |---|---|---| | `infra/docker/api.Dockerfile` | +1 行 | 新增 `COPY scripts/ /app/scripts/` | ### 审查详情 1. **问题确认** ✅ `scripts/deploy_production.sh` 在部署流程中执行 `python /app/scripts/validate_release_env.py`,但原 Dockerfile 未将 `scripts/` 目录拷贝进镜像,导致容器内找不到该脚本,deploy 步骤失败。 2. **修复正确性** ✅ 新增 `COPY scripts/ /app/scripts/` 放置在 COPY 应用代码区域,位置合理(紧跟 `COPY alembic/` 之后)。 3. **源文件验证** ✅ `scripts/validate_release_env.py`(4478 bytes)在仓库中存在,功能为检查生产环境变量是否包含占位符(如 `CHANGE_ME`、`example.com` 等),属于安全校验脚本,内容无风险。 4. **影响范围** ✅ 仅新增一行 COPY 指令,不影响现有镜像层和构建逻辑。`scripts/` 目录中包含 30 个运维脚本,体积可控。 **结论:修复简洁有效,可以合并。**
Sign in to join this conversation.