CI/CD
Ее основное отличие в том, что тестирование и сборка кода проводится в автоматическом режиме. Такой подход позволяет избежать ошибок на ранних этапах и сводит риски к минимуму.
Принципы работы
CI (Continuous Integration) — непрерывная интеграция. Во время написания кода разработчики постоянно вносят изменения, которые подгружаются в репозиторий. Для автоматического тестирования и проверки используют специализированные сервисы, например, Github, которые создают скрипты. По каждому шагу ведется лог, который фиксирует любые изменения.
CD (Continuous Delivery) — непрерывная доставка. Отвечает за автоматическое развертывание сборки в любом окружении: продакшн, среда тестирования или разработки. Например, после редактирования кода он автоматически помещается в область тестирования.
Методология используется в компаниях, которые во время разработки часто модифицируют код, но при этом выпускают стабильные релизы. Разработчики получают автоматический процесс тестирования и развертывания приложения, что позволяет сосредоточиться на постоянном улучшении ПО.
Этапы методологии
Цикл CI/CD условно разбивают на 7 этапов:
- Создание. Программисты пишут определенную часть кода, а после тестируют в ручном режиме. Если тест пройден успешно, то части объединяются в единый код и переносятся в рабочую ветку разработки.
- Сборка. На втором этапе используют специальное ПО для контроля версия продукта, например, Git. Программа запускает автоматическую сборку с внесенными изменения, а после тестируют полученный код. Критерии успешного прохождения настраиваются в ручном режиме.
- Ручной тест. После прохождения автотеста в программном обеспечении продукт отправляется на проверку к команде тестировщиков. Они вручную проверяют написанный код и ищут баги.
- Релиз. После успешного окончания третьего этапа код поступает в релиз. Создается рабочая сборка для обновления текущего программного продукта до актуальной версии.
- Развертывание. Полученное обновление транслируется на официальных серверах разработчиков для апдейта ПО до последней версии.
- Поддержка и мониторинг. Программисты отслеживают отзывы потребителей и готовят список будущих изменений.
- Планирование. На последнем этапе создается утвержденный список изменений для следующих версий. По окончании данного шага цикл разработки заканчивается и начинается заново.
При таком принципе работы пользователи получают полностью рабочий релиз. Если они обнаружат ошибку или баг, то сообщают в техподдержку.
Методология CI/CD сокращает время разработки программного продукта, выявляет ошибки и недочеты на ранних этапах создания кода, а также уменьшает время восстановления в случае создания инцидента.
Изменения протоколируются, что ускоряет процесс отслеживания ошибок и добавления новых функций в программный продукт.