我已将功能部署到gcloud功能,并且我想配置CI / CD以从gitlab部署此功能。 要从gitlab进行任何操作,我需要使用
获取firebase身份验证令牌 firebase login:ci
命令。
问题是我需要使用gcloud服务帐户获取此令牌,当我运行
时,该帐户不会显示在浏览器中 firebase login:ci
我有此服务帐户数据(project_id
,private_key
,private_key_id
等)
我应该如何授权使用此acc?
答案 0 :(得分:3)
如果您将名为sal$type_employerCap = fct_collapse(sal$type_employer,
fed_loc_state = c(" Federal-gov"," Local-gov ","State-gov "),
inc_not-inc_ prv = c("Private"," Self-emp-inc","Self-emp-not-inc") ,
? = c("Without-pay","Never-worked","?") ))
的环境变量设置为指向服务帐户JSON文件的路径,则Firebase CLI会自动选择该变量并将其用于授权命令。在这种情况下,您无需登录或提供GOOGLE_APPLICATION_CREDENTIALS
参数。
答案 1 :(得分:1)
如果有人发现了这个并且想知道如何在 CircleCI 上做到这一点,这对我有用。
GSA_KEY
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]
答案 2 :(得分:0)
使用命令:
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"