Кратко: Фреймворк CI/CD.

Недавно я вам рассказывал об этапах разработки, но на собеседование с верностью 50%, у вас спросят что из себя представляет фреймворк CI/CD.

Об фреймворки: CI/CD (Continuous Integration, Continuous Delivery) представляет собой метод автоматизации тестирования и предоставления новых компонентов разрабатываемого проекта тем, кто в этом заинтересован: разработчикам, аналитикам, специалистам по контролю качества, конечным пользователям и другим участникам процесса.

Концепция непрерывной интеграции и развёртывания применяется в agile-методологиях разработки ПО. Она направлена на то, чтобы уделять должное внимание бизнес-требованиям, безопасности и качеству финального продукта. Этот подход помогает:

  • автоматизировать последовательную сборку, упаковку и тестирование программных продуктов;
  • автоматически разворачивать приложение в разных средах;
  • минимизировать ошибки и уязвимости в программном продукте.

Принципы разработки по методике CI/CD Методика CI/CD основана на нескольких ключевых принципах:

1. Распределение обязанностей. Задачи и этапы разработки распределяются между членами команды или её подгруппами, особенно при работе над крупным проектом. При этом учитывается бизнес-логистика, внедрение сквозных функций, проведение тестов, безопасность хранения данных и другие аспекты. 2. Снижение рисков. Каждый разработчик или подгруппа разработчиков стремится минимизировать уязвимости и ошибки на всех этапах разработки. Для этого осуществляется постоянный контроль бизнес-логистики, проводится пользовательское тестирование продукта, оптимизируются хранение и обработка данных. 3. Оптимизация обратной связи. Успех проекта зависит от эффективности взаимодействия между разработчиками, клиентами и пользователями. Это влияет на скорость внесения корректировок и обновлений в приложение. Если сборку и тестирование можно автоматизировать, то во многих других операциях требуется участие человека. Чтобы взаимодействие было более конструктивным, уменьшается количество посредников между заказчиком, исполнителями и пользователями. Создание рабочей среды. Для удобства совместной работы у разработчиков должно быть общее рабочее пространство. Помимо основной ветки процесса, в нём должна быть побочная, в которой удобнее проводить тестирование, вносить корректировки, отслеживать отказоустойчивость и выполнять другие задачи.

Этапы CI/CD

Процесс разработки включает написание кода, автоматизированную сборку и тестирование, ручное тестирование, выпуск, развёртывание, поддержку и планирование.

  • Написание кода. Каждый разработчик создаёт код отведённого ему модуля и тестирует его вручную. Затем разработанный и проверенный программный блок интегрируется в основную ветку с текущей версией продукта.
  • Сборка. Система контроля версий запускает автоматизированную сборку и тестирование всего продукта. Автоматическая сборка выполняется с помощью Jenkins или другого сервера непрерывной интеграции.
  • Ручное тестирование. После автоматизированной сборки продукта он передаётся тестировщикам на проверку. Они используют различные методики тестирования для выявления и устранения ошибок и уязвимостей программы.
  • Выпуск. После исправления ошибок вычищенный и отлаженный код переходит на этап выпуска для клиентов. Его проверяет заказчик, возможно, с привлечением своих специалистов или ограниченной группы пользователей. По результатам проверки код отправляется на доработку или согласуется.
  • Развёртывание. Текущая версия программы размещается на продакшн-серверах разработчика. Заказчик может работать с программой, исследовать её функции, искать уязвимости.
  • Поддержка и отслеживание. После развёртывания приложение становится доступным конечным пользователям. Параллельно этому разработчики выполняют его поддержку и одновременно мониторят реакцию пользователей, анализируют их опыт взаимодействия с программой.
  • Планирование. На основании данных, полученных при изучении пользовательского опыта, разработчик подготавливает план доработок, включающий новые функции, исправление ошибок и т. д. После этого он вносит все корректировки в продукт — и цикл разработки снова.
Кратко: Фреймворк CI/CD. | Сетка — социальная сеть от hh.ru Кратко: Фреймворк CI/CD. | Сетка — социальная сеть от hh.ru Кратко: Фреймворк CI/CD. | Сетка — социальная сеть от hh.ru Кратко: Фреймворк CI/CD. | Сетка — социальная сеть от hh.ru