使用 gcloud 服务帐户登录到 firebase
Login to firebase using gcloud service account
我已将函数部署到 gcloud 函数,我想配置 CI/CD 以从 gitlab 部署此函数。
要从 gitlab 执行任何操作,我需要使用
获取 firebase 身份验证令牌
firebase login:ci
命令。
问题是我需要使用 gcloud 服务帐户获取此令牌,当我 运行
时,该令牌未显示在浏览器中
firebase login:ci
我有此服务帐户数据(project_id
、private_key
、private_key_id
等)
我应该如何授权使用这个acc?
如果您将名为 GOOGLE_APPLICATION_CREDENTIALS
的环境变量设置为指向您的服务帐户 JSON 文件的路径,Firebase CLI 将自动选取该变量并使用它来授权命令。在这种情况下,您无需登录或提供 --token
参数。
使用命令:
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"
如果有人找到这个并且想知道如何在 CircleCI 上做,这对我有用。
- 在 GCP Console 中为您的服务帐户生成一个 json 文件密钥
- 在组织级别或项目级别将 json 设置为 CircleCI 环境变量
- 我们在组织级别使用一个名为
GSA_KEY
- 在您的工作流配置中,在您 运行 firebase 命令之前,运行 此命令:
echo echo $GSA_KEY > "$HOME"/gcloud.json
- 然后 运行 你的
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 函数,我想配置 CI/CD 以从 gitlab 部署此函数。 要从 gitlab 执行任何操作,我需要使用
获取 firebase 身份验证令牌firebase login:ci
命令。
问题是我需要使用 gcloud 服务帐户获取此令牌,当我 运行
时,该令牌未显示在浏览器中firebase login:ci
我有此服务帐户数据(project_id
、private_key
、private_key_id
等)
我应该如何授权使用这个acc?
如果您将名为 GOOGLE_APPLICATION_CREDENTIALS
的环境变量设置为指向您的服务帐户 JSON 文件的路径,Firebase CLI 将自动选取该变量并使用它来授权命令。在这种情况下,您无需登录或提供 --token
参数。
使用命令:
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"
如果有人找到这个并且想知道如何在 CircleCI 上做,这对我有用。
- 在 GCP Console 中为您的服务帐户生成一个 json 文件密钥
- 在组织级别或项目级别将 json 设置为 CircleCI 环境变量
- 我们在组织级别使用一个名为
GSA_KEY
- 我们在组织级别使用一个名为
- 在您的工作流配置中,在您 运行 firebase 命令之前,运行 此命令:
echo echo $GSA_KEY > "$HOME"/gcloud.json
- 然后 运行 你的
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]