Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Выбор лучшей CI/CD системы на основе имеющихся требований (интеграция с Gitlab, Docker, Protractor и т.д.)

cd
protractor
bamboo
nunit
team-city
Теги: #<Tag:0x00007f7b704f9e60> #<Tag:0x00007f7b704f9d20> #<Tag:0x00007f7b704f9be0> #<Tag:0x00007f7b704f9a78> #<Tag:0x00007f7b704f9938>

(Tatyana Durova) #1

Кто-нибудь поможет в создании сравнительной таблицы для нашего проекта? =) (извините за наглость, но может и кому то еще полезно будет!)

Требования к CI/CD

1. Прогон unit-тестов
2. Прогон Nunit
3. Прогон protractor-тестов
4. Развёртывание окружения из Docker и разных веток разных подсистем?
5. Аналитика менеджеров пакетов
6. Интеграция с Gitlab (хуки на пуши, и pull/merge requests)
7. Возможность аппрува для выкладки на какое-либо окружение?
8. Сбор различных данных по проекту(соблюдение кодстайла, покрытие тестами) и отображение их в удобном виде.

Сравнение выбранных решений

* TeamCity
* Jenkins
* Bamboo
* GitlabCI
* Strider-CD (http://www.stridercd.com)

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


(Ray Romanov) #2

Могу сразу сказать, таблицу можно зарубить, т.к. все зависит от того как вы настроите задание и будут ли у вас скрипты и/или плагины для реализации этих пунктов.


(Tatyana Durova) #3

То есть можно любую из данных систем в итоге настроить под соответвие требованиям и тупо можно брать любую?


(Ray Romanov) #4

Совершенно верно.


(Sewa Makhinya) #5

То есть можно любую из данных систем в итоге настроить под соответвие требованиям и тупо можно брать любую?
Практически, да.
Задача CI системы - засунуть руки в управляемый хост и сделать там всё, что угодно.
Что конкретно будет делаться - зависит от окружения (библиотеки, фреймворки, …), а не от того, какая конкретно CI система используется. Так что рекомендую отталкиваться от соображений лицензирования и окружения в первую очередь.


(rmerkushin) #6

Teamcity слишком замудреный и платный, Jenkins бесплатный и для него много разных плагинов, ну и простой как 2 рубля :slight_smile: Если планируете использовать или уже используете Gitlab, тогда наверное лучше взять GitlabCI для лучшей интеграции. А вообще, что больше понравится, то и используйте. Как написали выше, любой из них можно настроить под свои нужды.


(Tatyana Durova) #7

А чего там замудренного?
Насчет платы, до 10 акк бесплатно, можно ограничиться даже тремя (релиз менеджре, тестер, разработчик - как вариант)

Gitlab - используем уже и давно, совсемстно с Jira

GitlabCI - тоже вроде платный?


(rmerkushin) #8

Ну мне после Jenkins он показался таким. По поводу Gitlab CI, судя по информации с оф. сайта он open source :smile: Если у gitlab что-то и есть платное, то это скорее всего плата за хостинг VCS и CI у них.