CI/CD мобильного приложения
Вопрос
Расскажите, как вы строите CI/CD для мобильного приложения.
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
PR-пайплайн: сборка, линтеры, юнит-тесты, проверка размера
Релизный пайплайн: версия, подпись, загрузка символов, публикация в тестовые треки
Секреты и ключи подписи вне репозитория
Ускорение: кеш сборки, разделение по модулям, параллельные задачи
Раскатка: поэтапно, метрики, флаги, хотфиксы
Ночные сборки: UI-тесты, полный регресс
Что могут спросить следом
- Как ускорить сборку iOS на CI?
- Что делать с нестабильными UI-тестами?
Разбор
На каждый PR запускаю быстрый пайплайн: сборка затронутых модулей, линтеры, юнит-тесты, snapshot-тесты дизайн-системы и проверка размера сборки. Цель до 10-15 минут, иначе разработчики перестанут ждать. Ночью полный прогон с UI-тестами на нескольких устройствах. Релизный пайплайн запускается по тегу: поднимает версию, подписывает ключами из секретов CI, загружает dSYM и маппинг R8 в крэш-аналитику и отправляет сборку в TestFlight и внутренний трек Play через fastlane. Для скорости кеширую зависимости и результаты сборки, делю тесты по модулям. После ревью раскатываю поэтапно, смотрю crash-free и ANR, а проблемные фичи выключаю флагами.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «CI/CD, фича-флаги и релизы»
- Обратная совместимость API для мобильных клиентов
- Метрика стабильности релиза
- Зачем фича-флаги в мобильном приложении
- Гигиена фича-флагов
- Хотфикс мобильного приложения
- Релизный пайплайн мобильного приложения
- Принудительное обновление
- Типы фича-флагов