Аутентификация и использование Firebase в неинтерактивных средах - PullRequest
0 голосов
/ 26 апреля 2020

Я работаю с мобильным приложением Android, исходный код которого поддерживается в Azure. Я хочу автоматизировать процесс сборки и загрузить файл .apk в Распределение приложений Firebase в соответствии с требованием.

Я использовал Azure Pipeline для автоматизации Процесс сборки. Я использую .yml файл для автоматизации процесса. Мы смогли сгенерировать файл .apk. Мне нужно загрузить это в Firebase.

Следил за несколькими блогами и заканчивает приведенным ниже кодом, который должен быть написан в моем файле .yml

- script: |
    cd functions
    npm init --yes
    npm install -g firebase-tools
    npm install
    firebase login --interactive
    firebase appdistribution:distribute --app APP_ID --release-notes "My first distribution" --testers "xyzh@gmail.com" $(build.artifactStagingDirectory)$(Build.ArtifactStagingDirectory)/android-devops.apk
  displayName: 'npm install and deploy'

При этом не удалось войти в firebase, так как при беге не будет никакого взаимодействия. Это полностью автоматизировано Azure при выполнении задания. Если я использовал эти команды в командной строке, он открывает страницу входа в firebase и при входе получает аутентификацию. После этого команда appdistribution:distribute успешно загружает приложение в Firebase. Но мне нужно автоматизировать этот процесс в Azure Devops Pipeline, где не будет никаких взаимодействий.

1 Ответ

1 голос
/ 27 апреля 2020

Сначала попробуйте сгенерировать токен аутентификации, а затем используйте один из следующих двух параметров:

  • Сохраните токен как переменную среды FIREBASE_TOKEN. Ваша система будет автоматически использовать токен.
  • Запустить все команды firebase с флагом --token в вашей системе CI.

enter image description here

https://firebase.google.com/docs/cli/#command_reference

...