Всем привет! Меня зовут Дима Воронин, я архитектор мобильных приложений в Авито, занимаюсь инфраструктурой тестирования, 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 в мобильных платформах — задавайте в комментариях. Постараемся ответить на них во время обсуждения.
Присоединяйтесь!
Автор: Дмитрий Воронин