簡體   English   中英

使用 gcloud 服務帳號登錄 firebase

[英]Login to firebase using gcloud service account

我已將功能部署到 gcloud 功能,我想配置 CI/CD 以從 gitlab 部署此功能。 要從 gitlab 執行任何操作,我需要獲取 firebase 身份驗證令牌

firebase login:ci

命令。

問題是我需要使用 gcloud 服務帳戶獲取此令牌,該帳戶在我運行時未顯示在瀏覽器中

firebase login:ci

我有這個服務帳戶數據( project_idprivate_keyprivate_key_id等)

我應該如何授權使用這個acc?

如果您將名為GOOGLE_APPLICATION_CREDENTIALS的環境變量設置為指向您的服務帳戶 JSON 文件的路徑,Firebase CLI 將自動選擇並使用它來授權命令。 在這種情況下,您無需登錄或提供--token參數。

如果有人發現了這一點並且想知道如何在 CircleCI 上做到這一點,這對我有用。

  1. 在 GCP Console 中為您的服務帳戶生成一個 json 文件密鑰
  2. 將json設置為org級別或項目級別的CircleCI環境變量
    • 我們在組織級別使用一個名為GSA_KEY
  3. 在您的工作流配置中,在運行 firebase 命令之前,運行以下命令:
    • echo echo $GSA_KEY > "$HOME"/gcloud.json
  4. 然后運行您的firebase deploy命令,首先將路徑設置為GOOGLE_APPLICATION_CREDENTIALS

部署運行如下所示:

steps:
  - checkout
  - run:
      name: Create SA key JSON
      command: echo $GSA_KEY > "$HOME"/gcloud.json
  - run:
      name: Deploy to Firebase
      command:
        GOOGLE_APPLICATION_CREDENTIALS="$HOME"/gcloud.json firebase deploy [project specific stuff]

使用命令:

gcloud auth activate-service-account xyz@project-id.iam.gserviceaccount.com  --key-file=/path/to/file.json --project=project-id
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/file.json"

在 Bash

按順序運行以下命令1和2

  1. 導出 GOOGLE_APPLICATION_CREDENTIALS="/path/to/file.json"

"/path/to/file.json" -- 保存服務帳戶 json 文件的文件位置。

  1. npx firebase-tools 部署 --json

部署時不要忘記使用正確的項目,例如 firebase 使用 dev 或 firebase 使用 qa

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM