From d0041d5bb4d69ec56133ffa4519344a365fc93ac Mon Sep 17 00:00:00 2001 From: orenzhang <41963680+OrenZhang@users.noreply.github.com> Date: Wed, 29 Apr 2026 23:31:16 +0800 Subject: [PATCH] chore(docker): update backend URL handling and package.json versioning --- frontend/Dockerfile | 16 +++++++++------- frontend/entrypoint.sh | 1 + frontend/next.config.ts | 2 +- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/frontend/Dockerfile b/frontend/Dockerfile index 3b7e4886..a411c7b6 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -13,6 +13,10 @@ ENV NODE_ENV=production ENV NEXT_PUBLIC_LINUX_DO_CREDIT_BACKEND_URL=https://build-placeholder.invalid ENV LINUX_DO_CREDIT_SESSION_COOKIE_NAME=__LINUX_DO_CREDIT_SESSION_COOKIE_NAME__ ENV LINUX_DO_CREDIT_RATE_LIMIT_ENABLED=__LINUX_DO_CREDIT_RATE_LIMIT_ENABLED__ +ENV LINUX_DO_CREDIT_BACKEND_URL=https://build-placeholder-2.invalid + +ARG VERSION="" +ARG BUILD_DATE="" WORKDIR /app @@ -22,10 +26,15 @@ RUN pnpm install --frozen-lockfile COPY . . +RUN if [ -n "$VERSION" ] || [ -n "$BUILD_DATE" ]; then \ + VERSION="$VERSION" BUILD_DATE="$BUILD_DATE" node -e "const fs = require('fs'); const pkg = require('./package.json'); const version = process.env.VERSION; const buildDate = process.env.BUILD_DATE; if (version) pkg.version = version; if (buildDate) pkg.buildDate = buildDate; fs.writeFileSync('./package.json', JSON.stringify(pkg, null, 2) + '\\n')"; \ +fi + RUN pnpm build RUN grep -rl \ -e "https://build-placeholder.invalid" \ + -e "https://build-placeholder-2.invalid" \ -e "__LINUX_DO_CREDIT_SESSION_COOKIE_NAME__" \ -e "__LINUX_DO_CREDIT_RATE_LIMIT_ENABLED__" \ /app/.next > /app/.replace.files @@ -33,17 +42,10 @@ RUN grep -rl \ # ---- runner stage ---- FROM base AS runner -ARG VERSION="" -ARG BUILD_DATE="" - WORKDIR /app COPY --from=builder /app . -RUN if [ -n "$VERSION" ] || [ -n "$BUILD_DATE" ]; then \ - VERSION="$VERSION" BUILD_DATE="$BUILD_DATE" node -e "const fs = require('fs'); const pkg = require('./package.json'); const version = process.env.VERSION; const buildDate = process.env.BUILD_DATE; if (version) pkg.version = version; if (buildDate) pkg.buildDate = buildDate; fs.writeFileSync('./package.json', JSON.stringify(pkg, null, 2) + '\\n')"; \ -fi - EXPOSE 3000 ENTRYPOINT ["./entrypoint.sh"] diff --git a/frontend/entrypoint.sh b/frontend/entrypoint.sh index 2244a442..9850b5be 100755 --- a/frontend/entrypoint.sh +++ b/frontend/entrypoint.sh @@ -32,6 +32,7 @@ replace_placeholder() { } replace_placeholder "https://build-placeholder.invalid" "$NEXT_PUBLIC_LINUX_DO_CREDIT_BACKEND_URL" +replace_placeholder "https://build-placeholder-2.invalid" "$LINUX_DO_CREDIT_BACKEND_URL" replace_placeholder "__LINUX_DO_CREDIT_SESSION_COOKIE_NAME__" "$LINUX_DO_CREDIT_SESSION_COOKIE_NAME" replace_placeholder "__LINUX_DO_CREDIT_RATE_LIMIT_ENABLED__" "$LINUX_DO_CREDIT_RATE_LIMIT_ENABLED" diff --git a/frontend/next.config.ts b/frontend/next.config.ts index 2e26b08f..a4f350d7 100644 --- a/frontend/next.config.ts +++ b/frontend/next.config.ts @@ -5,7 +5,7 @@ const nextConfig: NextConfig = { experimental: { }, async rewrites() { - const backendUrl = process.env.NEXT_PUBLIC_LINUX_DO_CREDIT_BACKEND_URL || 'http://localhost:8000'; + const backendUrl = process.env.LINUX_DO_CREDIT_BACKEND_URL || 'http://localhost:8000'; return [ // 易支付兼容接口 - 创建订单 {