Кратко: Фреймворк CI/CD.
Недавно я вам рассказывал об этапах разработки, но на собеседование с верностью 50%, у вас спросят что из себя представляет фреймворк CI/CD.
Об фреймворки: CI/CD (Continuous Integration, Continuous Delivery) представляет собой метод автоматизации тестирования и предоставления новых компонентов разрабатываемого проекта тем, кто в этом заинтересован: разработчикам, аналитикам, специалистам по контролю качества, конечным пользователям и другим участникам процесса.
Концепция непрерывной интеграции и развёртывания применяется в agile-методологиях разработки ПО. Она направлена на то, чтобы уделять должное внимание бизнес-требованиям, безопасности и качеству финального продукта. Этот подход помогает:
- автоматизировать последовательную сборку, упаковку и тестирование программных продуктов;
- автоматически разворачивать приложение в разных средах;
- минимизировать ошибки и уязвимости в программном продукте.
Принципы разработки по методике CI/CD Методика CI/CD основана на нескольких ключевых принципах:
1. Распределение обязанностей. Задачи и этапы разработки распределяются между членами команды или её подгруппами, особенно при работе над крупным проектом. При этом учитывается бизнес-логистика, внедрение сквозных функций, проведение тестов, безопасность хранения данных и другие аспекты. 2. Снижение рисков. Каждый разработчик или подгруппа разработчиков стремится минимизировать уязвимости и ошибки на всех этапах разработки. Для этого осуществляется постоянный контроль бизнес-логистики, проводится пользовательское тестирование продукта, оптимизируются хранение и обработка данных. 3. Оптимизация обратной связи. Успех проекта зависит от эффективности взаимодействия между разработчиками, клиентами и пользователями. Это влияет на скорость внесения корректировок и обновлений в приложение. Если сборку и тестирование можно автоматизировать, то во многих других операциях требуется участие человека. Чтобы взаимодействие было более конструктивным, уменьшается количество посредников между заказчиком, исполнителями и пользователями. Создание рабочей среды. Для удобства совместной работы у разработчиков должно быть общее рабочее пространство. Помимо основной ветки процесса, в нём должна быть побочная, в которой удобнее проводить тестирование, вносить корректировки, отслеживать отказоустойчивость и выполнять другие задачи.
Этапы CI/CD
Процесс разработки включает написание кода, автоматизированную сборку и тестирование, ручное тестирование, выпуск, развёртывание, поддержку и планирование.
- Написание кода. Каждый разработчик создаёт код отведённого ему модуля и тестирует его вручную. Затем разработанный и проверенный программный блок интегрируется в основную ветку с текущей версией продукта.
- Сборка. Система контроля версий запускает автоматизированную сборку и тестирование всего продукта. Автоматическая сборка выполняется с помощью Jenkins или другого сервера непрерывной интеграции.
- Ручное тестирование. После автоматизированной сборки продукта он передаётся тестировщикам на проверку. Они используют различные методики тестирования для выявления и устранения ошибок и уязвимостей программы.
- Выпуск. После исправления ошибок вычищенный и отлаженный код переходит на этап выпуска для клиентов. Его проверяет заказчик, возможно, с привлечением своих специалистов или ограниченной группы пользователей. По результатам проверки код отправляется на доработку или согласуется.
- Развёртывание. Текущая версия программы размещается на продакшн-серверах разработчика. Заказчик может работать с программой, исследовать её функции, искать уязвимости.
- Поддержка и отслеживание. После развёртывания приложение становится доступным конечным пользователям. Параллельно этому разработчики выполняют его поддержку и одновременно мониторят реакцию пользователей, анализируют их опыт взаимодействия с программой.
- Планирование. На основании данных, полученных при изучении пользовательского опыта, разработчик подготавливает план доработок, включающий новые функции, исправление ошибок и т. д. После этого он вносит все корректировки в продукт — и цикл разработки снова.
· 01.07.2024
CI/CD - это не фреймворк, а комбинация технологий💀 Это тоже самое, что сказать что C++ - библиотека для C
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 01.07.2024
Спасибо за ревью, я думаю мы разный смысл закладываем в слова. Для меня фреймворк - это инструменты, которые собраны в единное поле, и помогают систематизировать работу команды :)
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён