company_banner

Прямой эфир: СI/CD в iOS и Android

    Всем привет! Меня зовут Дима Воронин, я архитектор мобильных приложений в Авито, занимаюсь инфраструктурой тестирования, CI. 27 сентября на нашем ютуб-канале мы проведем прямой эфир и обсудим continuous integration и continuous delivery в iOS и Android. Вещаем прямиком из нашего офиса. Поговорим об основах: зачем нужны CI/CD и как их настраивать, коснемся UI-тестирования и feature toggling, а дальше — глубже и интереснее. Сами не знаем, куда заведет разговор. В дискуссии будут участвовать эксперты из Яндекса, Альфа-Банка и Авито.


    Под катом — примерные вопросы, которые планируем обсуждать (и предлагаем вам дополнить этот список), а также пароли и явки для тех, кто захочет присоединиться к трансляции. Добавляйте пост в закладки: после встречи обновим его и выложим видео.



    Участники дискуссии


    Константин Заикин (Яндекс)


    image Руководитель группы разработки Яндекс.Браузера. Писал программы для Windows CE в Восточной Сибири, разрабатывал мобильный аудиокодек на C#, участвовал в разработке системы обучения L'Oreal и биржи для американских дальнобойщиков на ASP.NET. В Яндексе участвовал в создании Карт для Windows, Метрики для .NET-приложений, был в команде Яндекс.Такси.


    Алексей Шпирко (Авито)


    image iOS-разработчик с 2011 года. Техлид кроссфункциональной команды, занимающейся ускорением релизов мобильных приложений в Авито, построением CI/CD в мобильных приложениях, разработкой инструментов для UI-тестов. Ранее три года был тимлидом команды iOS-разработчиков.


    Дмитрий Воронин (Авито) — это я


    imageАрхитектор мобильных приложений. В Авито с 2014 года, занимаюсь инфраструктурой тестирования, CI.


    Дмитрий Стешин (Альфа-Банк)


    imageiOS-разработчик, в том числе занимается CI/CD и релизами приложения.


    Ведущий и модератор дискуссии


    Илья Царев (Альфа-Банк)


    image
    Руководитель направления 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 в мобильных платформах — задавайте в комментариях. Постараемся ответить на них во время обсуждения.


    Присоединяйтесь!

    Авито
    285,88
    У нас живут ваши объявления
    Поделиться публикацией

    Комментарии 11

      +2
      Emulator/Simulator или реальное железо?
      Используется ли Docker и как?
        +1
        Есть ли жизнь е2е тестам?
        Есть ли другие автомтизацированные чеки — размера бинарника, новых permission?
        Гоняется ли obfuscated бинарник.
          +1
          Чеклист релиза/фичи:
          1. Есть ли аналитика
          2. Есть ли локализация
          3. Есть ли новые звисимости
          4. Есть ли скроншоты для маркетинга

          И как проверяется, автоматизируется?
            +2
            Какаие используете бесплатные инструменты для публикации в Google Play?
              +1

              Мы jenkins’ом выкладываем в Google Play. День потерять, чтобы настроить, а потом все как по маслу

              +1
              Используется ли fastlane для загрузки билдов в appstore и если да, как решаются поломки связанные с обновлением api apple?
                +1
                боритесь ли вы с флаки тестами, если боритесь — то как?
                почему только UI тестирование?
                В последнее время все чаще слышу, что юнит тесты не приносят никакой пользы, есть ли у вас юнит тесты?
                  +1
                  Как выглядит процесс приемочного тестирования (acceptance tests)?
                  Сколько времени такое тестирование занимает и какие минимальные критерии приемки фичи должны быть, чтобы ее отправить в мастер бранч?
                  Является ли попадание в мастер бранч автоматическим индикатором для деплоймента в продакшн? (Или есть еще несколько предварительных сред для деплоймента из мастера?)
                    +4
                    На все вопросы из комментариев постараемся ответить во время прямого эфира
                      0
                      Какие метрики отслеживаете (напр. размер приложения, время билда), какие из них стараетесь улучшить, а какие просто мониторите?
                        0
                        Пробовали ли вы trunk-based development в мобилке?
                        Какую инфраструктуру выбрали для UI-тестов — нативные тесты, или Appium сотоварищи? Почему?
                        К предыдущему вопросу заодно — UI-тесты пишут мобильные разработчики, или же отдельно выделеные под эту задачу тестировщики?

                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                        Самое читаемое