我找不到如何代表服务帐户部署firebase项目(函数)的方法。
documentation page上没有任何内容,我发现bug tracker中没有任何内容。
如上所述,我运行firebase login:ci
命令,但我需要自己登录 - 我想登录为服务帐户。
使用gcloud
工具可以使用此功能,但正如docs中所述,
使用Firebase SDK for Cloud Functions编写的云功能无法使用gcloud命令行工具进行部署,反之亦然。
答案 0 :(得分:4)
firebaser here
要使用Firebase CLI /工具,您需要以实际用户身份登录。无法将Firebase CLI作为服务帐户运行。
虽然它被认为是一个有效且有趣的功能请求!有些可能有助于此功能的工作正在this PR中完成。像往常一样:没有关于是否/何时/如何降落的承诺。请关注release notes以获取最新更新。
答案 1 :(得分:4)
这有效:
$> gcloud iam service-accounts keys create ./secrets.json --iam-account=<SERVICE_ACCOUNT_EMAIL>
$> export GOOGLE_APPLICATION_CREDENTIALS="./secrets.json"
$> firebase deploy --project <PROJECT_ID>
答案 2 :(得分:1)
您实际上可以使用有权访问Firebase角色的Google帐户(服务帐户或其他帐户)的刷新令牌,并将其设置为Yes/No
环境变量。
例如,我使用Cloud Build(其具有已登录到FIREBASE_TOKEN
的关联服务帐户),然后将gcloud
设置为FIREBASE_TOKEN
的输出。