Попробуйте AWS CodePipeline

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

Раньше разработчики одной команды могли в течение долгого времени работать изолированно и объединяли свои изменения с основной частью проекта только по завершении своих частей работы. Такой пакетный процесс приводил к тому, что на объединение накопленных изменений программного кода уходило много сил и времени. Процесс осложнялся тем, что небольшие ошибки долгое время накапливались без исправления. Совокупность всех этих факторов затрудняла быструю доставку обновлений пользователям.

При непрерывной интеграции разработчики часто подтверждают записи в совместно используемый репозиторий, используя систему контроля версий, например Git. Перед каждым подтверждением записи разработчики могут запускать локальные модульные тесты программного кода в качестве дополнительного уровня проверки перед интеграцией. Сервис непрерывной интеграции обнаруживает подтвержденные записи в совместно используемом репозитории, автоматически выполняет сборку и тесты модульного уровня для изменений программного кода и немедленно выявляет любые функциональные ошибки и ошибки интеграции.

Непрерывная интеграция и непрерывная доставка

Непрерывная интеграция относится к стадии сборки и модульного тестирования процесса выпуска ПО. Каждое подтвержденное изменение кода запускает автоматический процесс сборки и тестирования.

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

 


Более продуктивная разработка

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

Заблаговременное обнаружение и устранение ошибок

За счет более частого и всестороннего тестирования ваша команда сможет выявлять и устранять ошибки заблаговременно, до того, как они перерастут в серьезные проблемы.

Быстрая доставка обновлений

Непрерывная интеграция дает возможность вашей команде быстрее и чаще доставлять обновления конечным пользователям.

Непрерывную интеграцию в AWS можно реализовать несколькими способами.

CICD

Рабочий поток непрерывной интеграции можно настроить с помощью сервиса AWS CodePipeline, позволяющего создать рабочий поток, который осуществляет сборку кода в AWS CodeBuild после каждого подтверждения записи.