mobius Mobius 2018 Мск (08.12.2018)

Android builds at Lyft

img

Погружение в особенности сборки Android-монорепозитория в Lyft, инфраструктуру и тулинг вокруг и, конечно же, инженерные байки!

Комментарий Программного комитета:

Артем — один из первопроходцев в области мобильного 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;

  • и т. д.