Комментарий Программного комитета:
Артем — один из первопроходцев в области мобильного DevOps, плюс он не стесняется писать свои решения и получается отлично, тот же Mainframer используют многие.
Доклад о том, как и зачем мы собираем большой Android-монорепозиторий в Lyft, какие у нас процессы, проблемы и решения по работе с проектом, как организована инфраструктура.
Основной посыл — применение и выработка инженерных подходов к решению инфраструктурных проблем мобильных приложений.
Побочные темы:
- структура проекта, что в Lyft получилось хорошо, что плохо;
- как организация кода помогает или мешает работе с ним;
- как в большой команде делать большие технические изменения;
- почему иногда имеет смысл пробовать немейнстримовые инструменты;
- как фиксить медленный тулинг, если его написали не вы;
- как вообще жить и в чем смысл всего этого.
Вводные данные на момент подачи доклада:
- 2 больших Android-приложения в одном Git-репозитории;
- ~50 разработчиков;
- 700+ модулей;
- 700k+ строк Java (без комментариев), 120k+ XML, активно растет доля Kotlin-кода;
- две билд-системы: Gradle + Buck;
- in-house сервис для распределенного билд-кеша;
- in-house сервис для аналитики build tooling;
- in-house сервис continuous integration;
- in-house тулинг, написанный на Kotlin, Bash, Python;
- и т. д.