Всем привет! Меня зовут Дима Воронин, я архитектор мобильных приложений в Авито, занимаюсь инфраструктурой тестирования, CI. 27 сентября на нашем ютуб-канале мы проведем прямой эфир и обсудим continuous integration и continuous delivery в iOS и Android. Вещаем прямиком из нашего офиса. Поговорим об основах: зачем нужны CI/CD и как их настраивать, коснемся UI-тестирования и feature toggling, а дальше — глубже и интереснее. Сами не знаем, куда заведет разговор. В дискуссии будут участвовать эксперты из Яндекса, Альфа-Банка и Авито.
Под катом — примерные вопросы, которые планируем обсуждать (и предлагаем вам дополнить этот список), а также пароли и явки для тех, кто захочет присоединиться к трансляции. Добавляйте пост в закладки: после встречи обновим его и выложим видео.
Участники дискуссии
Константин Заикин (Яндекс)
Руководитель группы разработки Яндекс.Браузера. Писал программы для Windows CE в Восточной Сибири, разрабатывал мобильный аудиокодек на C#, участвовал в разработке системы обучения L'Oreal и биржи для американских дальнобойщиков на ASP.NET. В Яндексе участвовал в создании Карт для Windows, Метрики для .NET-приложений, был в команде Яндекс.Такси.
Алексей Шпирко (Авито)
iOS-разработчик с 2011 года. Техлид кроссфункциональной команды, занимающейся ускорением релизов мобильных приложений в Авито, построением CI/CD в мобильных приложениях, разработкой инструментов для UI-тестов. Ранее три года был тимлидом команды iOS-разработчиков.
Дмитрий Воронин (Авито) — это я
Архитектор мобильных приложений. В Авито с 2014 года, занимаюсь инфраструктурой тестирования, CI.
Дмитрий Стешин (Альфа-Банк)
iOS-разработчик, в том числе занимается CI/CD и релизами приложения.
Ведущий и модератор дискуссии
Илья Царев (Альфа-Банк)
Руководитель направления iOS-разработки в Альфа-Банке. Занимается разработкой iOS-приложений более пяти лет, развивает общебанковскую дизайн-систему (библиотеку для мобильных приложений) и собственный архитектурный подход.
Примерные вопросы для обсуждения
CI для каждой из платформ
Зачем нужно настраивать CI
Какие решения вы используете для CI
Какие проверки используются: правила, pr, линтеры, code coverage и так далее
UI-тестирование
Зачем нужно UI-тестирование. Как уменьшить время регресса с бесконечности до одного дня. Инфраструктура для UI-тестов. Как привлечь людей к написанию тестов, как программистов, так и не программистов. Сколько это стоит: поддерживать код, железо, экономит ли это время.
Какое железо нужно для всего этого
Потребуется ли ферма из Mac Mini или Mac Pro. Много ли времени занимает CI, какие параметры нужны, сколько стоит, есть ли альтернативы? А что делать, если нет денег?
Как происходит выкатка в магазины приложений?
CD
В чем отличие от CI
Feature Toggling
Как работают процессы до релиза. Как проверять, что не забыли добавить флаг на фичу. Что делать, если флагов стало больше трёхсот. Как работает система после релиза. Как происходит откатка.
Мониторинг приложений после релиза — как это устроено
Краши и что с ними делать. Какие продуктовые и технические метрики нужно считать.
Типы сборок для внутреннего тестирования
Бета-версии приложения, ранние релизы, поэтапные выкатки, работа с бета-версиями приложения в магазинах, работа с ранним доступом.
Open Source
Нужны ли опенсорсные проекты компаниям и зачем.
Где и когда смотреть
Дискуссия пройдёт 27 сентября и начнется в 17:00 по московскому времени. Посмотреть можно на ютуб-канале AvitoTech. Если у вас есть вопросы по CI/CD в мобильных платформах — задавайте в комментариях. Постараемся ответить на них во время обсуждения.
Присоединяйтесь!
Комментарии (10)
Jack4Martynov
18.09.2018 15:52Есть ли жизнь е2е тестам?
Есть ли другие автомтизацированные чеки — размера бинарника, новых permission?
Гоняется ли obfuscated бинарник.
Jack4Martynov
18.09.2018 15:54Чеклист релиза/фичи:
1. Есть ли аналитика
2. Есть ли локализация
3. Есть ли новые звисимости
4. Есть ли скроншоты для маркетинга
И как проверяется, автоматизируется?
petrovichtim
19.09.2018 03:54+2Какаие используете бесплатные инструменты для публикации в Google Play?
WondeRu
19.09.2018 10:05+1Мы jenkins’ом выкладываем в Google Play. День потерять, чтобы настроить, а потом все как по маслу
punksta
19.09.2018 11:03+1Используется ли fastlane для загрузки билдов в appstore и если да, как решаются поломки связанные с обновлением api apple?
blainepwnz
19.09.2018 11:30+1боритесь ли вы с флаки тестами, если боритесь — то как?
почему только UI тестирование?
В последнее время все чаще слышу, что юнит тесты не приносят никакой пользы, есть ли у вас юнит тесты?
denis1stomin
19.09.2018 11:30+1Как выглядит процесс приемочного тестирования (acceptance tests)?
Сколько времени такое тестирование занимает и какие минимальные критерии приемки фичи должны быть, чтобы ее отправить в мастер бранч?
Является ли попадание в мастер бранч автоматическим индикатором для деплоймента в продакшн? (Или есть еще несколько предварительных сред для деплоймента из мастера?)
divor Автор
19.09.2018 11:31+4На все вопросы из комментариев постараемся ответить во время прямого эфира
permenko
19.09.2018 20:52Какие метрики отслеживаете (напр. размер приложения, время билда), какие из них стараетесь улучшить, а какие просто мониторите?
Jack4Martynov
Emulator/Simulator или реальное железо?
Используется ли Docker и как?