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

← Rendered

markdown source:

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

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

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

- [buildboot](https://buildbot.net/) на #python
- [CruiseControl](http://cruisecontrol.sourceforge.net/)

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

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

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

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

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


[jenkins]: jenkins "Jenkins"