Помню время, когда из всех доступных CI, были только CruiseControl, Дженкинс и может несколько других. Про CI-as-a-service тогда никто и не думал. Сейчас ассортимент доступных CI сильно увеличился, конкуренция в лучшем виде. Доступны и бесплатные CI в облаке и self-hosted версии под свободными лицензияии. На прошлых выходных я потратил немного времени, чтобы посмотреть на самые популярные облачные сервисы CI и ниже самые интересные детали этого обзора.
- многообразие поддерживаемых ОС: теперь поддерживаются не только три популярные ОС (Windows, Linux, Mac OS), но можно и свои другие ОС использовать. Я например давно жду когда кто-нибудь сделает поддержку BSD и дождался. Cirrus CI поддерживает образы с Амазона и Гугл Клауда, поэтому теперь без проблем можно тестировать на FreeBSD и OpenBSD. CircleCI позволяет использовать инстансы с AWS и Azure. Вообще Cirrus CI это моё открытие за все время обзора. Парни решили пересмотреть свой взгляд на CI и написали про это статью. - некоторые CI позволяют параллельный запуск тестов, как например Circle CI (https://circleci.com/docs/2.0/parallelism-faster-jobs/) - многие CI позволяют публиковать результаты тестов и показывают отчёты для них, сравнивают с предыдущими запусками (например Circle CI) - декларативное описание конвейера CI - стандарт де-факто. В Дженкинсе помню долго пытались добавить декларативное описание задач и когда оно появилось, то было сильно глючное (жаловались знакомые девопсы, тестирующие компоненты OpenStack). - помню мне кто-то говорил, что его любимый CI это сервис от Джетбрейнс. Потрогал, действительно неплохой. - многие CI позволяют сохранять артефакты на некоторое время. Оказывается популярный Travis CI в этом отстаёт - там можно выложить артефакты только на внешний сервер.