- I gcloud auf einem jenkins Docker-Container mit diesem Leitfaden ein: https://firebase.google.com/docs/test-lab/continuous
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]
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. –
Welche Rolle (n) hat Ihr Dienstkonto auf der IAM-Seite in der Entwicklerkonsole? –
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