build(docker): build frontend and server inside container; remove host build deps

This commit is contained in:
Chenwei Jiang 2025-08-21 16:47:05 +08:00
parent 11104dbf29
commit 7591f001c1
Signed by: cheverjohn
GPG key ID: ADC4815BFE960182
6 changed files with 75 additions and 43 deletions

View file

@ -2,21 +2,13 @@
set -euo pipefail
echo "[Dream-Machine] 生产镜像构建"
echo "- 环境要求: 前端包 dist/ 已在宿主机构建完成"
echo "- 在容器内编译前端与后端"
echo "- 目标平台: linux/amd64"
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
ROOT_DIR=$(cd "$SCRIPT_DIR/.." && pwd)
if [ ! -d "$ROOT_DIR/dist" ]; then
echo "[错误] 未检测到 dist/。请先在宿主机运行: pnpm run build"
exit 1
fi
echo "[步骤] 安装并构建后端 (宿主机)"
(cd "$ROOT_DIR/server" && pnpm install && pnpm run build)
echo "[步骤] 构建生产镜像 (仅打包、禁止在容器内构建)"
echo "[步骤] 构建生产镜像 (容器内完成所有构建)"
(cd "$ROOT_DIR/docker" && docker buildx build --platform linux/amd64 -f Dockerfile.prod -t dm-purchase-api:prod ..)
echo "[完成] 镜像: dm-purchase-api:prod"