При настройке моего сервера сборки для использования Firebase Test Lab для тестирования эспрессо я постоянно сталкиваюсь с ошибкой.
ERROR: (gcloud.beta.test.android.run) Permission denied while fetching the default results bucket
(Error 403: Access Not Configured. Cloud Tool Results API has not been used in project CLOUD_PROJECT_ID before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/toolresults/overview?project=CLOUD_PROJECT_ID then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.).
Is billing enabled for project: [PROJECT_ID]?
Когда я пробую его на своем компьютере, который вошел в систему через мою учетную запись, выполнение приведенной ниже команды работает правильно.
gcloud beta test android run \
--type instrumentation \
--app app-debug.apk \
--test app-debug-androidTest.apk \
--device-ids Nexus4,Nexus5 \
--os-version-ids 18,21,25 \
--locales en \
--orientations portrait
На моем сервере сборки я хочу использовать служебную учетную запись, но когда я выполняю команду, я получаю указанную ранее ошибку. Кто-нибудь знает, как это правильно настроить? Нужна ли сервисному аккаунту какая-то особая роль, помимо project editor
?
В сценарии сборки я выполняю следующие команды для аутентификации и настройки проекта перед загрузкой APK-файлов.
gcloud config set project PROJECT_ID
gcloud auth activate-service-account [email protected] --key-file ~/gcloud-service-key.json