我有.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 actions似乎无法访问process.env.REACT_APP_API_KEY
我觉得问题是
作为。env文件没有被推送到github repo,这就是为什么我的构建服务器无法访问命令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,
}
这里的一个快速解决方案可能是在github操作步骤中手动创建.env
文件,然后再需要它。
- name: Create env file
run: |
touch .env
echo API_ENDPOINT="https://xxx.execute-api.us-west-2.amazonaws.com" >> .env
echo API_KEY=${{ secrets.API_KEY }} >> .env
cat .env