我做了什么:
我想要执行的内容:
gcloud firebase test android run --app ./app/build/outputs/apk/app-debug.apk
我得到的错误:
ERROR: (gcloud.firebase.test.android.run) Unable to access the test environment catalog: ResponseError 403: Not authorized for project <project-id>
问题
我做错了什么?我尝试使用所有服务帐户规则在IAM下添加服务帐户,但这没有帮助。
是否可以专门为服务帐户启用这些API?我这样做只是为了完整的项目和gmail帐户:启用所需的API。使用服务帐户登录后:“在Google Developers Console API库页面中,启用Google Cloud Testing API和Cloud Tool Results API。要启用这些API,请在控制台顶部的搜索框中键入这些API名称,然后在该API的概述页面上单击“启用API”。“
到目前为止我的步骤详细:
docker exec -it container bash
export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)"
echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo apt-get update && sudo apt-get install google-cloud-sdk
gcloud init
# only if this service account does not already exist:
# gcloud iam service-accounts create continuous-integration
gcloud iam service-accounts keys create $JENKINS_HOME/gce-continuous-integration-key.json --iam-account=continuous-integration@<project-id>.iam.gserviceaccount.com
gcloud auth activate-service-account continuous-integration@<project-id>.iam.gserviceaccount.com --key-file=$JENKINS_HOME/gce-continuous-integration-key.json
gcloud auth login continuous-integration@<project-id>.iam.gserviceaccount.com
jenkins@VM:/$ gcloud config list
# returns:
[compute]
region = europe-west3
zone = europe-west3-c
[core]
account = continuous-integration@<project-id>.iam.gserviceaccount.com
disable_usage_reporting = True
project = <project-id>
Your active configuration is: [default]
答案 0 :(得分:6)
尝试在IAM页面中提供服务帐户Project-&gt; Editor权限。要运行Firebase测试实验室测试,授权需要允许gcloud创建多种类型的云资源(测试矩阵,工具结果)以及将中间和最终测试结果文件写入项目的云存储桶中。 / p>
答案 1 :(得分:0)
编辑者角色不适用于我,就我而言,我是从IAM页面创建服务帐户的,但事实证明那里缺少某些内容,因此您需要做的是“生成私钥” “在https://console.firebase.google.com/u/0/project/ / settings / serviceaccounts / adminsdk
中我的意思是:设置/服务帐户/ Firebase Admin SDK->生成私钥。