GitHub操作-如何使我的环境变量(存储在.env文件中)在工作流中可用 [英] Github Actions - How can I make my env variable(stored in .env file) available in my workflow

本文介绍了GitHub操作-如何使我的环境变量(存储在.env文件中)在工作流中可用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我会尽量说清楚。我也询问了相关问题,但没有得到令人信服的答复。
我正在使用ReactionFirebase进行托管。
此外,我将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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆