Как загрузить Android APK в группу тестировщиков в Firebase с помощью GitHub Actions?

Опубликовано: 1 Сентября, 2022

Тестирование всегда требуется всякий раз, когда мы создаем приложение, чтобы убедиться, что оно работает должным образом в рабочей среде. Отправка приложения тестировщикам каждый раз, когда новый код вливается в кодовую базу, может занимать много времени и быть неудобной. Таким образом, чтобы решить эту проблему, можно использовать конвейеры компакт-дисков для доставки программного обеспечения тестировщикам. В этой статье мы научимся создавать конвейер компакт-дисков для Android и отправлять APK группе тестировщиков в Firebase.

Pre-requisites: Git, Github, Basic understanding of building CI/CD pipelines and GitHub Actions, Setup of Firebase.

Теперь, когда мы знаем, как настроить Firebase и сгенерировать TokenID , сохраните его в безопасности, так как нам понадобится тот же TokenID, когда мы будем кодировать наш конвейер CD. Итак, прежде всего перейдите в Firebase и создайте новый проект. Напишите название проекта по своему желанию. Теперь следуйте инструкциям по настройке firebase в вашем проекте Android. После того, как вы добавили Firebase в свой проект Android, перейдите в консоль Firebase , выберите свой проект и прокрутите вниз консоли. Теперь нажмите « Просмотреть все функции расширения». В разделе «Выпуск и мониторинг» нажмите «Распространение приложений » -> «Тестеры и группы» -> «Добавить группу» . Назовите группу «проект-тестеры» и добавьте в нее свой адрес электронной почты.

После этого вернитесь в настройки вашего проекта и скопируйте AppID . Храните его в безопасности, мы будем использовать его в нашем коде.

Теперь мы можем создать конвейер CD с помощью действий GitHub и загрузить наш APK в группу тестировщиков, которую мы создали в Firebase. Создайте файл .yml с именем releases.yml в каталоге .github/workflows в корневом каталоге проекта. Начните писать приведенный ниже код в этом файле.

name: Build and Release
"on":
 push:
   branches:
     - master
   tags:
     - v*
jobs:
 build:
   name: Upload APK to App Tester
   runs-on: ubuntu-latest
   steps:
     - uses: actions/checkout@v2.4.0
     - name: Setup JDK
       uses: actions/setup-java@v2.5.0
       with:
         distribution: temurin
         java-version: "11"
     - name: build release
       run: bash ./gradlew assembleDebug
     - name: upload artifact to Firebase App Distribution
       uses: wzieba/Firebase-Distribution-Github-Action@v1.2.2
       with:
         appId: "Enter you AppID here"
         token:  "Enteer your TokenID here"
         groups: project-testers
         file: app/build/outputs/apk/debug/app-debug.apk

Всякий раз, когда в основной ветке будет происходить отправка кода, этот рабочий процесс будет запущен. Затем он настроит JDK и соберет этот APK для выпуска. После этого он загрузит файл app/build/outputs/apk/debug/app-debug.apk в группу тестировщиков проекта , которую мы создали в Firebase. Теперь зафиксируйте этот код, и вы увидите, как рабочий процесс выполняется на вкладке «Действия» вашего проекта на GitHub.

После завершения рабочего процесса перейдите на вкладку релизов вашего проекта в firebase, и вы увидите там опубликованный релиз.

Таким образом, тестировщики могут загрузить приложение оттуда и протестировать его. Каждый раз, когда новый код помещается в основную ветку, этот рабочий процесс запускается и загружает APK для тестирования.