2017-10-24 2 views
0

Was ich tat:gcloud Firebase Android-Test: Kann die Testumgebung Katalog zuzugreifen: ResponseError 403: Nicht für Projekt zugelassen

Was ich ausführen wollen:

gcloud firebase test android run --app ./app/build/outputs/apk/app-debug.apk 
I

Der Fehler:

ERROR: (gcloud.firebase.test.android.run) Unable to access the test environment catalog: ResponseError 403: Not authorized for project <project-id> 

Frage

Was mache ich falsch? Ich habe versucht, das Dienstkonto unter IAM mit allen Dienstkontenregeln hinzuzufügen, aber das hat nicht geholfen.

Ist es möglich, diese APIs speziell für das Dienstkonto zu aktivieren? Ich habe dies nur für das gesamte Projekt und Google Mail-Konto getan: Aktivieren Sie die erforderlichen APIs. Nachdem Sie sich mit dem Dienstkonto angemeldet haben: "Aktivieren Sie auf der Google Developers Console-API-Bibliotheksseite die Google Cloud Testing-API und die Cloud Tool-Ergebnis-API. Um diese APIs zu aktivieren, geben Sie diese API-Namen in das Suchfeld oben in der Konsole ein. und klicken Sie dann auf API aktiviert auf der Übersichtsseite für die API "

Meine Schritte bisher im Detail:.

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 [email protected]<project-id>.iam.gserviceaccount.com 

gcloud auth activate-service-account [email protected]<project-id>.iam.gserviceaccount.com --key-file=$JENKINS_HOME/gce-continuous-integration-key.json 

gcloud auth login [email protected]<project-id>.iam.gserviceaccount.com 

[email protected]:/$ gcloud config list 
# returns: 
[compute] 
region = europe-west3 
zone = europe-west3-c 
[core] 
account = [email protected]<project-id>.iam.gserviceaccount.com 
disable_usage_reporting = True 
project = <project-id> 
Your active configuration is: [default] 
+0

Immer wenn ich ähnliche 403 Fehler in der Vergangenheit gesehen habe, war es normalerweise auf eines von zwei Dingen zurückzuführen. Entweder: Eine Verwechslung führte dazu, dass ein anderes Dienstkonto für den Befehl gcloud firebase test android run verwendet wurde. oder Dem Dienstkonto wurde eine Rolle (oder Rollen) zugewiesen, die es nicht ermöglichte, die Test- und ToolResults-APIs aufzurufen. –

+0

Welche Rolle (n) hat Ihr Dienstkonto auf der IAM-Seite in der Entwicklerkonsole? –

+0

Danke, dass Sie sich die Zeit genommen haben, zu antworten. Zur Zeit habe ich zugewiesen: Dienst Account Admin, -Benutzer, -Key Admin, - Token Creator. Ich habe keine eindeutigen Ressourcen zu den Rollen gefunden, die dieses Konto benötigt, um mit diesem Firebase-Befehl zu arbeiten. – hb0

Antwort

2

Versuchen Sie das Dienstkonto geben Ausbau-> Editor Berechtigungen in der IAM-Seite. Um Firebase Test Lab-Tests auszuführen, muss gcloud mithilfe der Autorisierung mehrere Arten von Cloud-Ressourcen erstellen (Testmatrizen, Tool-Ergebnisse) sowie Zwischen- und End-Testergebnisdateien in den Cloud Storage-Bucket Ihres Projekts schreiben.

+0

Vielen Dank. Ich teilte dem Firebase-Support mit, dass sie diese erforderliche Erlaubnis in ihrem Leitfaden erwähnen sollten. – hb0

Verwandte Themen