Использование непрерывной интеграции

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

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

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

Команды разработчиков повторяют этот процесс для каждого рабочего элемента. Teams может установить политики филиалов, чтобы гарантировать, что основная ветвь поддерживает требуемые критерии качества.

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

CI — это стандартная функция на современных платформах DevOps. Пользователи GitHub могут реализовать CI через GitHub Actions. Пользователи Azure DevOps могут использовать Azure Pipelines.