Непрерывная интеграция – это практика разработки программного обеспечения DevOps, при которой разработчики регулярно объединяют изменения программного кода в центральном депозитарии, после чего автоматически выполняется сборка и тестирование. Непрерывная интеграция чаще всего относится к этапу сборки или интеграции в процессе выпуска программного обеспечения и подразумевает как компонент автоматизации (например, CI или сервис сборки), так и культурный компонент (например, обучение частой интеграции). Главная задача непрерывной интеграции – быстрее находить и исправлять ошибки, улучшать качество ПО и сокращать временные затраты на проверку и выпуск обновлений ПО.
Раньше разработчики одной команды могли в течение долгого времени работать изолированно и объединяли свои изменения с основной частью проекта только по завершении собственной работы. Это делало слияние кода сложной и трудоемкой задачей, к тому же ошибки накапливались и не исправлялись в течение долгого времени. Такие факторы затрудняли быструю доставку обновлений пользователям.
При непрерывной интеграции разработчики часто подтверждают записи в совместно используемый репозиторий, используя систему контроля версий, например Git. Перед каждым подтверждением записи разработчики могут запускать локальные модульные тесты программного кода в качестве дополнительного уровня проверки перед интеграцией. Сервис непрерывной интеграции автоматически выполняет сборку и запуск модульных тестов для изменений кода, что позволяет моментально выявлять ошибки.
Непрерывная интеграция относится к стадии сборки и поэлементного тестирования процесса выпуска ПО. Каждое подтвержденное изменение кода запускает автоматический процесс сборки и тестирования.
С помощью непрерывной доставки изменения программного кода автоматически проходят сборку, тестируются и подготавливаются к запуску в рабочей среде. Непрерывная доставка расширяет практику непрерывной интеграции за счет того, что все изменения кода после стадии сборки развертываются в тестовой и (или) в рабочей среде.
Непрерывная интеграция повышает производительность вашей команды за счет освобождения разработчиков от ручной работы и стимуляции подходов, которые помогают уменьшить количество ошибок и дефектов в версиях ПО для конечных пользователей.
За счет более частого и всестороннего тестирования ваша команда сможет выявлять и устранять ошибки заблаговременно – до того, как они перерастут в серьезные проблемы.
Непрерывная интеграция дает возможность вашей команде быстрее и чаще доставлять обновления конечным пользователям.
Непрерывную интеграцию в AWS можно реализовать несколькими способами.
Рабочий поток непрерывной интеграции можно настроить с помощью сервиса AWS CodePipeline, позволяющего создать рабочий поток, который осуществляет сборку кода в AWS CodeBuild после каждого подтверждения записи.
Ознакомьтесь с решениями наших партнеров.