生成中未拾取环境变量



Dockerfile

FROM node:lts-alpine as build-stage
ENV VUE_APP_BACKEND_SERVER=${_VUE_APP_BACKEND_SERVER}
RUN echo "server env is:"
RUN echo $VUE_APP_BACKEND_SERVER
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run gcpbuild

Cloudbuild配置

steps:
- name: gcr.io/cloud-builders/docker
args:
- build
- '--no-cache'
- '-t'
- '$_GCR_HOSTNAME/$PROJECT_ID/$REPO_NAME/$_SERVICE_NAME:$COMMIT_SHA'
- front
- '-f'
- front/Dockerfile
- '--build-arg=ENV=$_VUE_APP_BACKEND_SERVER'
id: Build
...
...
options:
substitutionOption: ALLOW_LOOSE
substitutions:
_VUE_APP_BACKEND_SERVER: 'https://backend.url'

我还在"高级"部分的替换中设置了变量。然而,在构建过程中,echo会打印一个空白,并且该变量在应用程序中不可用。

您需要的是:

FROM node:lts-alpine as build-stage
ARG VUE_APP_BACKEND_SERVER
...

此外,修复云构建配置中的构建参数行:

- '--build-arg',
- 'VUE_APP_BACKEND_SERVER=${_VUE_APP_BACKEND_SERVER}'

查看文档。

阅读Dockerfiles中有关ARG指令的更多信息。

相关内容

  • 没有找到相关文章