9

glcoudCLI を CircleCi のサービス アカウントとして使用して、インストルメント化されたテストを実行しようとしています。私が実行すると:

gcloud config set project project-name-12345
gcloud auth activate-service-account firebase-testlab-serviceuser@project-name-12345.iam.gserviceaccount.com --key-file ${HOME}/client-secret.json
gcloud firebase test android run --type instrumentation --app debug-app.apk --test debug-test.apk --device model=Nexus6P,version=27,locale=en,orientation=portrait --environment-variables coverage=true,coverageFile=/sdcard/tmp/code-coverage/connected/coverage.ec --directories-to-pull=/sdcard/tmp --timeout 20m

私は得る:

ERROR: (gcloud.firebase.test.android.run) Could not copy [debug-app.apk] to [gs://test-lab-xxxxxxxx-yyyyyyyy/2018-01-18_17:14:09.964449_zPAw/] ResponseError 403: firebase-testlab-serviceuser@project-name-12345.iam.gserviceaccount.com does not have storage.objects.create access to bucket test-lab-xxxxxxxx-yyyyyyyy..

API コンソール ( https://console.cloud.google.com/iam-admin/iam/project ) を使用して、関連すると思われるすべての権限をサービス ユーザーに付与しました。

  • Firebase クラッシュ シンボル アップローダ
  • Firebase テスト ラボ管理者
  • ストレージ管理者
  • ストレージ オブジェクト管理者
  • ストレージ オブジェクト作成者
  • ストレージ オブジェクト ビューア
  • Firebase ルール システム

どんな助けでも大歓迎です。ありがとう。

4

6 に答える 6

2

これに遭遇し、すべての強力なプロジェクト編集者の役割を使用したくない人のために、サービス アカウントに使用している役割を次に示します: Firebase Test Lab の役割

ほとんどの場合、テストを実行するだけなので、Firebase Analytics Viewer ロールは必要ないと思います。結果を表示するには、代わりに開発者アカウントを使用しますが、削除は試みていません。

于 2021-09-08T04:53:58.240 に答える
0

で同じ権限の問題が発生しましstorage.objects.createた。回避したい役割を除いて、ここで言及されたすべての役割を追加しましたEditorが、それでも失敗しました。サービス アカウントを使用していましたが、適切な権限が確実にありました。

最終的に、私たちの回避策は、クラウド ストレージ バケットを手動でセットアップし、それを の--results-bucket引数で使用することでしgcloudた。こちらのドキュメントを参照してください。それは最終的に私たちのためにそれを修正しました。

于 2021-12-07T17:20:46.050 に答える