fix(version): /health 返回真实 commit SHA,不再是 unknown #2058
Reference in New Issue
Block a user
Delete Branch "fix/app-version-inject"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
staging 部署后 GET /health 返回 version="unknown",Docker 构建时注入的 commit SHA 被 compose 默认值覆盖。
根因
infra/docker/compose.yml 里硬编码
APP_VERSION: ${APP_VERSION:-unknown},compose 启动时宿主机未设 APP_VERSION 就注入 unknown,覆盖 Dockerfile 里的 ENV APP_VERSION=。修复
- infra/docker/compose.yml: 移除 environment 里 APP_VERSION=${APP_VERSION:-unknown} 硬编码默认值, 避免 compose 启动时用 "unknown" 覆盖 Dockerfile ARG/ENV 注入的 commit SHA。 未显式传 -e APP_VERSION 时,容器使用镜像 ENV(即构建时 --build-arg APP_VERSION=<sha> 的值); 需要 override 时仍可通过 docker compose -e 或宿主机环境变量传入。 - .gitea/workflows/ci-pipeline.yml: 去掉 EXTRA_BUILD_ARGS 中 APP_VERSION 值的多余转义引号, 避免 build-arg 把字面双引号注入版本号(之前 version 显示为 "\"abc123\"" 而非 "abc123")。🚀 预览环境已部署
🗑️ 预览环境已清理
PR #2058 已关闭或合并,对应的预览环境已被清理。