Знакомство с непрерывной интеграцией

Завершено

Непрерывная интеграция (CI) является одним из самых фундаментальных элементов DevOps. Он способствует совместной работе, способствует раннему обнаружению проблем с качеством кода и преимуществами упрощенного процесса разработки. Он также служит основой непрерывной доставки и развертывания. Используя методики CI, организация, описанная в нашем примере сценария, сможет устранить ручное усилие, связанное с созданием и тестированием своих приложений, эффективно эксплуативную доставку пользователям. Чтобы получить полную оценку преимуществ CI, мы рассмотрим их в этом уроке.

Что такое непрерывная интеграция

Непрерывная интеграция — это процесс автоматического создания и тестирования обновленных версий программного обеспечения после отдельных обновлений репозитория программного обеспечения. Как правило, шаблон интеграции включает в себя отправку разработчиками изменений в отдельных ветвях с помощью запросов на вытягивание. Изменения подлежат коллективному рассмотрению и, при условии успешного результата, объединяются в основную ветвь. Отдельные события фиксации или слияния могут использоваться для активации сборки и тестирования кода, чтобы убедиться, что предложенные или полученные изменения не имеют негативных последствий. Благодаря непрерывной интеграции сборка и тесты полностью автоматизированы.

Схема потока непрерывной интеграции.

Эта автоматизация основана на определениях сборки и тестирования, созданных разработчиками и реализованных на платформе размещения репозитория. Например, GitHub предлагает рабочий процесс GitHub Actions, а Azure DevOps использует Azure Pipelines.



Каковы преимущества непрерывной интеграции?

Основные преимущества, связанные с непрерывной интеграцией, основаны на общей стратегии смены влево, которая (как вы узнаете позже в этом модуле) также влияет на многие другие методики DevOps. Основная среда заключается в том, что дольше, чем больше времени требуется для обнаружения проблемы, введенной с помощью изменения кода, тем дороже и усилий, потребляющих его, чтобы исправить его. При непрерывной интеграции сборка кода и тестирование выполняется как можно скорее. Они также реализованы автоматически, что повышает скорость и надежность. Непрерывная интеграция повышает согласованность, гарантируя, что сборки и тесты выполняются воспроизводимым образом. Эта согласованность, в свою очередь, помогает применять стандарты программирования, что приводит к более чистому и упрощению поддержания кода. Последнее, но не последнее, непрерывная интеграция обычно является частью непрерывной доставки, упрощая управление жизненным циклом приложений. Минимизация затрат, связанных с обслуживанием сборки, тестирования и развертывания, повышает общую производительность групп разработки и операций, сокращая время на рынок для продуктов программного обеспечения.