CI и CD важны для нас и наших клиентов
Может быть сложно объяснить нашим клиентам, что такое процессы CI и CD (не говоря уже о том, чем они полезны). Итак, вот наше объяснение.
Впервые опубликовано в июне 2017 г.
Рабочий процесс цифрового продукта
В самом широком смысле, разработка цифровых продуктов почти всегда имеет один и тот же грубый рабочий процесс.
Код написан, приложение создано, приложение развернуто (отправлено) и получена обратная связь. Эта обратная связь затем влияет на следующий код, который будет написан, и цикл продолжается.
Чтобы продукт был успешным, крайне важно, чтобы этот процесс был завершен как можно быстрее. Чем больше версий, чем больше улучшений, чем больше отзывов, тем лучше продукт.
Автоматизация
Мы не можем автоматизировать написание кода. По крайней мере, в обозримом будущем этим все еще занимаются люди. Но процесс создания приложения и его развертывания для пользователей можно автоматизировать.
Это не только может быть автоматизировано, но и должно быть автоматизировано. Это отнимает так много времени, что имеет смысл использовать инструменты везде, где это возможно, чтобы сделать это быстрее.
Например, ниже приведены некоторые вещи, о которых нам нужно подумать, чтобы создать и развернуть даже самые маленькие изменения в приложении iOS:
- Подписание кода
- Предоставление профилей
- Управление какаоподами
- Критические изменения из новых версий Xcode
- Создание/обновление скриншотов для App Store
- Профили push-уведомлений
Как вы понимаете, мы делаем множество сборок iOS для многих приложений. Все, что мы можем сделать, чтобы уменьшить эти задачи, определенно стоит того. И тут в дело вступает автоматизация.
CI/CD?
Процессы автоматизации можно разделить на две области:
- Непрерывная интеграция (CI) — здесь написанный код тестируется, объединяется и превращается в «развертываемую» сборку. т.е. приложение, которое можно установить на телефон или планшет.
- Непрерывное развертывание (CD) — это процесс доставки этой сборки (приложения) на устройства, чтобы ее можно было использовать/протестировать.
CI
Процесс CI использует написанный нами код; создает его, тестирует, а затем отклоняет или принимает этот код в зависимости от результатов тестирования.
Автоматизированные тесты очень важны для наших проектов. Тесты пишутся в коде для проверки написанного кода. Поначалу это звучит немного смешно.
Но когда приложение состоит из 1000 строк кода и над ним работает несколько человек, вы хотите быть уверены, что написание нового кода ничего не сломает. И способ получить эту уверенность — иметь набор тестов, которые автоматически запускаются каждый раз, когда вы что-то меняете.
CD
Для мобильных приложений распространение сборок является особенно сложной задачей. При разработке веб-сайтов легко настроить тестовую среду и поделиться URL-адресом с тем, кому вы хотите протестировать свой сайт.
Но для приложений обычный способ отправки сборок — через магазины приложений (например, Google PlayStore и iOS AppStore), и мы не можем сделать это для сборок, которые еще не готовы. Мы должны отправлять эти сборки напрямую в устройств для групп контроля качества, клиентов или бета-сообществ задолго до того, как они поступят в продажу.
Существуют разные способы отправки сборок. Как только мы нашли методы, которые хотим использовать, мы можем автоматизировать этот процесс, чтобы его можно было легко повторить.
Выгоды
Конечным преимуществом использования инструментов CI и CD является то, что мы можем направить нашу творческую энергию на создание и улучшение отличных продуктов.
У нас есть команда, состоящая из многих разных специалистов, и мы хотим, чтобы каждый член мог приложить все усилия для каждого проекта. Это означает, что мы хотим, чтобы все наши разработчики были уверены в том, что вносят изменения, зная, что они не нарушат другой раздел приложения.
Если бы для внесения каких-либо изменений каждый разработчик должен был создать, повторно протестировать все приложение, а затем с трудом распространять его, это сильно замедлило бы нашу работу.
Хорошие процессы автоматизации позволяют нам быстрее проходить цикл обратной связи и создавать более качественные и стабильные продукты.
Первоначально опубликовано на www.brightec.co.uk.
Если вам это понравилось, нажмите❤️️ ниже, чтобы другие люди увидели это здесь, на Medium.