Commit 28906322 by luoqi

fix(docs): OpenAPI server 按环境注入 —— 本地 localhost、线上 build-arg 生产域名

committed pac.json server 改回 localhost:3101(本地开箱即对);
pac-docs Dockerfile build 期用 DOCS_API_URL 覆盖 servers;compose.prod 传生产域名。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
parent 5a7d3b45
Pipeline #3331 failed in 0 seconds
...@@ -26,8 +26,12 @@ CMD ["pnpm", "dev"] ...@@ -26,8 +26,12 @@ CMD ["pnpm", "dev"]
FROM deps AS build FROM deps AS build
COPY . . COPY . .
WORKDIR /app/apps/pac-docs WORKDIR /app/apps/pac-docs
# build 脚本 = `fumadocs-mdx && next build`,确保 content 拷进来后重新生成 .source 再构建 # OpenAPI server 按环境注入(Scalar cURL/Send 的 base URL):committed spec 默认 localhost:3101(本地开箱即对),
RUN pnpm build # 线上 build 传 --build-arg DOCS_API_URL=https://<域名> 覆盖成生产地址。server 在 build 期烘进 SSG 页,故须在 next build 前改。
ARG DOCS_API_URL=http://localhost:3101
RUN node -e "const p='openapi/pac.json',fs=require('fs');const d=JSON.parse(fs.readFileSync(p));d.servers=[{url:'$DOCS_API_URL',description:'API'}];fs.writeFileSync(p,JSON.stringify(d,null,2)+'\n')" \
&& echo "OpenAPI server → $DOCS_API_URL" \
&& pnpm build
FROM node:${NODE_VERSION} AS prod FROM node:${NODE_VERSION} AS prod
RUN apk add --no-cache libc6-compat RUN apk add --no-cache libc6-compat
......
...@@ -2479,7 +2479,7 @@ ...@@ -2479,7 +2479,7 @@
], ],
"servers": [ "servers": [
{ {
"url": "https://pac.jarvismedical.asia", "url": "http://localhost:3101",
"description": "PAC API" "description": "PAC API"
} }
], ],
......
...@@ -125,6 +125,9 @@ services: ...@@ -125,6 +125,9 @@ services:
context: . context: .
dockerfile: apps/pac-docs/Dockerfile dockerfile: apps/pac-docs/Dockerfile
target: prod target: prod
args:
# OpenAPI 参考页 Scalar 的 server 地址(cURL/Send base);本地默认 localhost:3101,线上注入生产域名
DOCS_API_URL: https://pac.jarvismedical.asia
restart: always restart: always
environment: environment:
NODE_ENV: production NODE_ENV: production
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment