Серверы непрерывной интеграции

Теги: cicd 

Предназначены для непрерывного тестирования на разных версиях ПО. Есть два типа - для локального развертывания и для SaaS. Первый вариант используется, когда код не должен покидать конткур (к примеру для пром.предприятия).

[jenkins] - наиболее популярный локальный сервер НИ. Написан на #java под лицензией #MIT

Другие проекты:

С закрытым исходным кодом - TeamCity (JetBrains), Bamboo (Atlassian).

В сфере облачных решений популярен Travis CL, интегрирующийся с #github. Код Travis открыт.

Как устроена работа

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

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