Процесс CI / CD
Процесс CI / CD

Процесс CI / CD

Другое 12.07.2020

В этой статье рассмотрим что такое Continuous Integration, Continuous Delivery и Continuous Deployment, их основные принципы, а так же какую пользу они приносят при разработке.

CI/CD включает в себя непрерывную сборку, тестирование и развертывание изменений кода на каждой маленькой итерации. Непрерывные методологии разработки программного обеспечения основаны на автоматизации выполнения сценариев, что бы ускорить процесс разработки и тестирования, а так же минимизировать вероятность появления ошибок. Они требуют меньшего вмешательства человека с момента внедрения нового кода в проект до его развертывания на продакшене.

Continuous Integration это процесс регулярного обновления кода, при котором для внедрения любого изменения в приложение автоматически создается билд и запускаются тесты, тем самым обеспечивая соответствие нового функционала всем стандартам, установленным для Вашего приложения, а так же гарантирует, что новые изменения не повлияли на существующий функционал.

Continuous Delivery – это процесс, в результате которого проект собирается и тестируется автоматически, а следом и деплоится, но уже по требованию инженеров. Этот метод гарантирует, что код проверяется автоматически, но требует вмешательства человека, чтобы вручную инициировать развертывание изменений.

Continuous Deployment – отличается от Continuous Delivery тем, что для развертывания проекта не требуется вмешательство человека, то-есть этот процесс происходит тоже автоматически.

CI/CD хорошо подходит для software разработки, когда в проект по несколько раз в день вносятся изменения и зачастую одновременно разрабатывается сразу несколько частей. Таким образом стадии сборки, тестирования и развертывания проекта должны быть максимально быстрыми.

Главные цели CI/CD

  • Свести к минимуму ошибки
  • Ускорить сборку, тестирование и развертывание проекта
  • Повысить качество конечного продукта

Инструменты CI/CD

Jenkins

1. Jenkins – инструмент для CI с открытым исходным кодом, написанный на  Java. Он позволяет автоматически тестировать сборки проекта в режиме реального времени, быстро находить и исправлять дефекты, а так же собирать информацию по отдельным изменениям.

buddy

2. Buddy – это интеллектуальный инструмент CI / CD для веб-разработчиков, предназначенный для снижения порога входа в DevOps. Он использует конвейеры доставки для создания, тестирования и развертывания программного обеспечения.

TeamCity

3. TeamCity – сервер непрерывной интеграции, который поддерживает множество мощных функций: настройка сборки в DSL, комплексная интеграция VCS, отчет о прогрессе сборки на лету, удаленный запуск и т.д.

Источники: gitlab, itglobal, guru99

Поделиться

Отправить ответ

avatar
  Получать новые комментарии  
Уведомлять о новых комментариях