GitHub操作-如何使我的环境变量(存储在.env文件中)在工作流中可用 [英] Github Actions - How can I make my env variable(stored in .env file) available in my workflow
本文介绍了GitHub操作-如何使我的环境变量(存储在.env文件中)在工作流中可用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我会尽量说清楚。我也询问了相关问题,但没有得到令人信服的答复。
我正在使用Reaction和Firebase进行托管。
此外,我将Firebase Web API密钥存储在.env
文件中。
我使用Firebase CLI设置了Firebase托管,并选择在合并或拉入请求时自动部署。
安装完成后,在我的工作目录中创建了一个包含.yml
文件的.github
文件夹。
.github
- workflows
-firebase-hosting-merge.yml
-firebase-hosting-pull-request.yml
因此,现在当我通过运行firebase deploy
将我的项目(无需推送到GitHub)手动部署到Firebase时,一切工作正常,我的应用程序已启动并运行。然而,当我做出更改并将我的更改推送给Github时。GitHub操作被触发,并开始自动部署到Firebase进程。构建通过了所有检查。
但是,当我访问托管的URL时,控制台中出现错误,显示为
Your API key is invalid, please check you have copied it correctly.
我尝试了几种解决办法,例如将Firebase Web API密钥存储到Github机密中并在
.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: my-project
env:
REACT_APP_API_KEY: ${{secrets.REACT_APP_API_KEY}}
FIREBASE_CLI_PREVIEWS: hostingchannels
但我仍然收到错误。我觉得这个错误肯定是环境变量造成的。
我已将Firebase Web API密钥存储在根目录中的.env.production
文件中。
不知何故,GitHub操作没有使用我定义的环境变量。
请告诉我如何管理我的环境变量,以便我的工作流可以访问它。
推荐答案
答案是将自定义环境变量放在作业之前的第一级:
name: Deploy to Firebase Hosting on merge
'on':
push:
branches:
- master
env: # <--- here
REACT_APP_API_KEY: ${{secrets.REACT_APP_API_KEY}} # <--- here
jobs:
build_and_deploy:
...
并将此机密添加到您的项目&>设置&>机密中
这篇关于GitHub操作-如何使我的环境变量(存储在.env文件中)在工作流中可用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文