Ответ вслух Middle Публикация обновлено

Как устроен релиз мобильного приложения

Вопрос

Расскажи, как в твоей команде устроен процесс релиза Android-приложения от мержа до 100% пользователей.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Работаем релизными поездами: раз в одну-две недели от main отрезается релизная ветка, в которую дальше попадают только исправления. CI собирает release AAB с R8, подписывает ключом загрузки из секретов, загружает mapping.txt и выкладывает во внутренний трек.

Что должно прозвучать в ответе

  • Релизная ветка или тег, сборка AAB в CI с подписью ключом загрузки

  • Внутренний трек и регрессия QA

  • Поэтапный выпуск в прод с мониторингом крашей и ANR

  • Остановка выпуска и hotfix с новым versionCode вместо отката

  • Feature flags для рискованных функций

  • mapping.txt, release notes, контроль targetSdk

Что могут спросить следом

  • Что делаешь, если краш нашли на 20%?
  • Как часто релизитесь и почему?
  • Как публиковаться в RuStore?

Разбор

Работаем релизными поездами: раз в одну-две недели от main отрезается релизная ветка, в которую дальше попадают только исправления. CI собирает release AAB с R8, подписывает ключом загрузки из секретов, загружает mapping.txt и выкладывает во внутренний трек. QA проходит регрессию на этой сборке. Потом поэтапный выпуск: 1-5%, наблюдаем сутки за крашами и ANR в Crashlytics и Android Vitals, затем 20, 50, 100%. Если метрики плохие, останавливаем выпуск. Откатить версию в Play нельзя, поэтому рискованные функции заранее закрыты удалёнными флагами: выключаем флаг, а если проблема в коде, готовим hotfix с большим versionCode и выпускаем его тем же путём, но быстрее. Параллельно следим за требованиями Play по targetSdk и планируем его повышение как отдельную задачу. Для RuStore та же сборка выкладывается через их консоль или API.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.