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