【发布时间】:2020-05-16 21:37:39
【问题描述】:
我正在使用 Dockerfile 进行 React 项目。
我有不同的分支(dev、test、demo、stage..)我应该根据当前分支名称运行不同的 base_url
我为解决这个问题所做的是:
-在项目目录中创建 .env.dev .env.test ... 文件,并将这样的环境变量存储在每个创建的 env 文件中:
REACT_APP_BASE_URL'https://abc.branch-name.example' 看来在本地运行良好!
我的脚本: script file
我的 dockerfile 中的相关命令:
FROM node:8.11.2 as builder
WORKDIR /my-app
COPY . .
RUN npm rebuild node-sass
RUN npm run build
(我不允许使用 docker-compose.yaml)
当我推送代码时,构建器运行 dockerfile 并停留在(生产模式),它会忽略在本地工作的环境变量。
问题是如何让 docker 不忽略我的环境变量并检测当前分支?
- webpack 插件可以解决这个问题吗?
我不喜欢更改 docker 中的任何内容,因为它不是由我创建的,而且我对 docker 不熟悉,所以如果这个问题可以通过 webpack 解决,请告诉我。
任何建议都会有所帮助,谢谢。
【问题讨论】:
标签: reactjs docker webpack environment-variables