build: 优化 Docker/Workflow 构建,使用 Next.js 环境变量注入版本和构建时间,并移除对 package.json 的硬编码替换

This commit is contained in:
ryan
2026-06-11 20:18:49 +08:00
parent 7c125ccef2
commit 50533e1837
11 changed files with 37 additions and 46 deletions
+3 -23
View File
@@ -103,30 +103,10 @@ jobs:
working-directory: ${{ env.FRONTEND_DIR }}
run: pnpm install --frozen-lockfile
- name: Stamp frontend package metadata
working-directory: ${{ env.FRONTEND_DIR }}
shell: bash
env:
VERSION: ${{ needs.create-release.outputs.version_without_v }}
BUILD_DATE: ${{ needs.create-release.outputs.build_date }}
run: |
set -euo pipefail
if [[ -f package.json ]]; then
node - <<'NODE'
const fs = require('fs');
const path = './package.json';
const pkg = JSON.parse(fs.readFileSync(path, 'utf8'));
if (process.env.VERSION && Object.hasOwn(pkg, 'version')) {
pkg.version = process.env.VERSION;
}
if (process.env.BUILD_DATE && Object.hasOwn(pkg, 'buildDate')) {
pkg.buildDate = process.env.BUILD_DATE;
}
fs.writeFileSync(path, JSON.stringify(pkg, null, 2) + '\n');
NODE
fi
- name: Build frontend
env:
NEXT_PUBLIC_APP_VERSION: ${{ needs.create-release.outputs.version }}
NEXT_PUBLIC_APP_BUILD_DATE: ${{ needs.create-release.outputs.build_date }}
run: ${{ env.FRONTEND_BUILD_COMMAND }}
working-directory: ${{ env.FRONTEND_DIR }}