[英]How to provide preview channels on Firebase hosting with environment variables?
該錯誤確實是由於您的托管應用程序無法訪問指定您的應用程序應該連接到的 Firebase 項目的那些環境變量(例如,對用戶進行身份驗證、管理數據等)。 為什么您的 GitHub Actions 的管道步驟無法訪問它們,當然,如果不深入了解您的設置,我無法判斷。
但是,解決該問題的一種方法(無需將您的項目配置檢查到版本控制代碼中)是將所有必需的(環境)變量存儲在 GitHub 中,以便它們可用於與 GitHub 項目關聯的 GitHub 操作你正在努力。 您可以在https://github.com/<your-username>/<your-GitHub-project-name>/settings/variables/actions
添加它們。 假設您有一個 React 應用程序,然后可以通過firebase-hosting-pull-request.yml
腳本將環境變量與要部署在預覽通道上的代碼一起發送,該腳本可能看起來類似於這個:
name: Deploy to Firebase Hosting on PR
'on': pull_request
jobs:
build_and_preview:
if: '${{ github.event.pull_request.head.repo.full_name == github.repository }}'
runs-on: ubuntu-latest
env:
REACT_APP_FIREBASE_API_KEY: ${{ vars.REACT_APP_FIREBASE_API_KEY }}
REACT_APP_FIREBASE_AUTH_DOMAIN: ${{ vars.REACT_APP_FIREBASE_AUTH_DOMAIN }}
REACT_APP_FIREBASE_PROJECT_ID: ${{ vars.REACT_APP_FIREBASE_PROJECT_ID }}
REACT_APP_FIREBASE_STORAGE_BUCKET: ${{ vars.REACT_APP_FIREBASE_STORAGE_BUCKET }}
REACT_APP_FIREBASE_MESSAGING_SENDER_ID: ${{ vars.REACT_APP_FIREBASE_MESSAGING_SENDER_ID }}
REACT_APP_FIREBASE_APP_ID: ${{ vars.REACT_APP_FIREBASE_APP_ID }}
steps:
- uses: actions/checkout@v2
- run: npm ci && npm run build
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_XXX }}'
projectId: XXXXX
expires: 2d
這會讀取為存儲庫的 GitHub 操作存儲的變量,並使它們可用於在build_and_preview
作業中執行的所有管道步驟。
如果您有更敏感的數據要存儲,您可以將這些存儲在可用的 GitHub 秘密中(位於https://github.com/<your-username>/<your-GitHub-project-name>/settings/secrets/actions
)到您的 GitHub 操作,然后以與變量類似的方式使它們可用於您部署的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.