#разработка
Одним из способом доставки билда тестировщикам, является Firebase App Distribution. Это хороший и простой способ. И у него есть следующие преимущества:
• бесплатный;
• нет лимитов на размер файла приложения;
• работает и на iOS и на Android;
• можно добавлять группы тестировщиков;
• можно приглашать в тестирование по ссылке;
• добавление release notes к каждому билду;
• интеграция с Android Studio.
Для меня ключевым является последний пункт. Даже если у вас в проекте нет CI-системы, то вы легко можете выполнить одну gradle-команду, чтобы загрузить свежую версию приложения в Firebase с release notes и оповестить всех ваших тестировщиков.
Оповещением займется сам Firebase, а мы давайте посмотрим, как же получить release notes от HEAD в git до последнего тега. Пусть все коммиты с префиксом {ADD} — это наши release notes.
Для этого выполним команды:
1)
def tagNumber = "git describe --abbrev=0 --tags".execute().text.trim() — вернёт там последий тэг2)
def releaseNotes = ("git --no-pager log ${tagNumber}...HEAD --no-merges --date-order --format=%s --grep {ADD}").execute().text.trim() — вернёт нам список коммитов с префиксом {ADD}3)
new File("release_notes.txt").text = releaseNotes — сохраним всё в файлА дальше чуть-чуть настроим Firebase:
firebaseAppDistribution {
releaseNotesFile = project.rootProject.file('release_notes.txt')
}Укажем, что хотим взять release notes именно из этого файла, а остальные настройки лучше посмотреть тут.
Осталось только объединить описанные выше команды в одну при помощи gradle task, назовём её logs и выполним эти команды:
task getLogsAssembleAndDistributeQaRelease(type: GradleBuild) {tasks = ['clean',
'logs',
'appDistributionUploadQaRelease']
}В итоге наш билд улетит в Firebase, главное дождаться сборки и не выключить компьютер. 😉