NEXTJS 需要 env 变量来构建,但之后不需要。最初使用 ARG 但这似乎更安全(短暂)。然而,努力处理有关多个秘密的文档并将这些秘密放入 .env 文件中。对我在这里做错了什么有任何想法吗?
RUN --mount=type=secret,id=NEXT_PUBLIC_PROJECT_ID \
cat /run/secrets/NEXT_PUBLIC_PROJECT_ID >> .env.local \
--mount=type=secret,id=NEXT_PUBLIC_IDENTITY_API_KEY \
cat /run/secrets/NEXT_PUBLIC_IDENTITY_API_KEY >> .env.local \
--mount=type=secret,id=PRIVATE_KEY \
cat /run/secrets/PRIVATE_KEY >> .env.local \
--mount=type=secret,id=CLIENT_EMAIL \
cat /run/secrets/CLIENT_EMAIL >> .env.local \
--mount=type=secret,id=FIREBASE_TOKEN \
cat /run/secrets/FIREBASE_TOKEN >> .env.local \
&& npm run build
错误信息
Error: buildx failed with: error: failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/sh -c cat /run/secrets/NEXT_PUBLIC_PROJECT_ID >> .env.local --mount=type=secret,id=NEXT_PUBLIC_IDENTITY_API_KEY cat /run/secrets/NEXT_PUBLIC_IDENTITY_API_KEY >> .env.local --mount=type=secret,id=PRIVATE_KEY cat /run/secrets/PRIVATE_KEY >> .env.local --mount=type=secret,id=CLIENT_EMAIL cat /run/secrets/CLIENT_EMAIL >> .env.local --mount=type=secret,id=FIREBASE_TOKEN cat /run/secrets/FIREBASE_TOKEN >> .env.local && npm run build]: exit code: 1
答案 0 :(得分:0)
经过一番摆弄,这就是我的工作方式
RUN --mount=type=secret,id=NEXT_PUBLIC_PROJECT_ID \
--mount=type=secret,id=NEXT_PUBLIC_IDENTITY_API_KEY \
--mount=type=secret,id=APRIVATE_KEY \
--mount=type=secret,id=CLIENT_EMAIL \
cat /run/secrets/NEXT_PUBLIC_PROJECT_ID > .env.local && \
echo "" >> .env.local && cat /run/secrets/NEXT_PUBLIC_IDENTITY_API_KEY >> .env.local && \
echo "" >> .env.local && cat /run/secrets/CLIENT_EMAIL >> .env.local && \
echo "" >> .env.local && cat /run/secrets/APRIVATE_KEY >> .env.local && \
npm run build && \
rm .env.local