【发布时间】:2021-05-21 06:52:48
【问题描述】:
我将.env file 与我的firebase Web API 密钥一起保存在我的本地工作目录中。
我在我的项目中使用它作为
const firebaseConfig = {
apiKey : process.env.REACT_APP_API_KEY,
}
现在我设置了 Firebase 托管,并使用 GitHub 操作在将更改推送到 GitHub 时自动部署。
但是,github 部署的应用程序在我的控制台中出现错误提示 Your API key is invalid, please check you have copied it correctly 。而且我的应用程序将无法运行,因为它缺少 api 密钥。
似乎 github 操作无法访问 process.env.REACT_APP_API_KEY
我觉得问题是
由于 .env 文件未推送到 github 存储库,这就是为什么我的构建服务器无法访问命令 process.env.REACT_APP_API_KEY
我该如何解决这个问题?
Github 工作流程是在设置 firebase 托管时自动设置的。
这是错误还是有其他需要注意的地方?
下面是我的firebase-hosting-merge.yml
# This file was auto-generated by the Firebase CLI
# https://github.com/firebase/firebase-tools
name: Deploy to Firebase Hosting on merge
'on':
push:
branches:
- master
jobs:
build_and_deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: npm ci && npm run build --prod
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_EVENTS_EASY }}'
channelId: live
projectId: myprojectname
env:
FIREBASE_CLI_PREVIEWS: hostingchannels
如何使 .env 文件变量可供 github 构建服务器访问? 我需要更改我的 firebaseConfig 吗?或者有什么方法可以让我的 .env 文件可用于构建服务器,然后在构建完成后将其删除?
const firebaseConfig = {
apiKey : process.env.REACT_APP_API_KEY,
}
【问题讨论】:
-
为什么不在工作流程中创建一个 .env 文件?像这样的东西:stackoverflow.com/questions/60176044/…
标签: continuous-integration environment-variables continuous-deployment github-actions firebase-hosting