Выбор и конфигурация системы для CI сервера

Есть потребность в CI. В качестве CI выбран Jenkins. Есть несколько вопросов.
Задача - забирать тесты из удаленного репозитория и запускать.

Какую ОС выбрать?
Должна ли на ней быть графическая оболочка?
Как организовать ноды? Например нужно запускать тесты под сафари и под IE понятное дело что на убунту их не поставишь.
Дайте ссылок / совет

На сколько я понимаю тесты будут запускаться в гриде. А значит на какой ОС устанавливать CI сервер абсолютно не важно. Графическая оболочка там по той же причине не понадобится. Т.е. в вашем случае конфигурация будет примерно такая: CI сервер на любой ОСи, грид хаб, ноды с нужными осями-браузерами.
Ну и да, если имелись в виду ноды дженкинса, а не грида, конфигурация будет такая же :smile:

Возможно будет куда меня послать на почитать о том как настроить грид. Никогда не работал с ним

  1. На каких платформах Вы планируете запускать тесты?
  2. Где Вы хотите запускать тесты - на своих “машинах” или же использовать сторонние сервисы типа SauceLabs?

Тесты должны бегать на IE, Safari, Chrome, Firefox. Соответственно нужны Windows и OS X я так полагаю.
Нет, сторонними сервисами пользоваться не намеренны, только свои машины.

Как организовать запуск на разных машинах - использовать ноды дженкинса или ноды selenuim grid?

привет, может поможет для запуска

1 лайк

Если вы задаете такой вопрос - значит не до конца понимаете смысл грида :slight_smile:

Никогда ранее не использовал

Нужно искать инструмент в зависимости от цели, а не наоборот. Вы упомянули разные инструменты, у которых различные цели. Но задачу свою не озвучили.

Есть ряд тестов, которые должны запускатся на Safari, Firefox, Chrome, IE. Хочу так что бы нажать 1 кнопочку - билд, и дженки у меня спросил на каком браузера выполнить тесты, сразу на всех или на тех которые я укажу.
Вот цель.

Все зависит от того как должны выполнятся тесты.
Вариант 1. Последовательно: Нажали кнопочку - выбрали хром и на одной определенной станции побежали тесты в хроме. Ответ: дженкинс
Вариант 2. Параллельно: Нажали кнопочку - выбрали хром и на всех доступных станциях побежали тесты. Ответ: грид.

Последнюю неделю провел за экспериментами и сравнением дженкинса и тимсити, и склоняюсь больше к тимсити.
Теперь думаю о конфиге каждой ноды (имею ввиду ресурсы - cpu, ram)

Любая система CI это должна делать

Пригодится. Например, если на какой-то машине вылезает проблема, которая не воспроизводится на других машинах, то было бы неплохо иметь возможность удаленно зайти на машину и своими глазами увидеть, что же там не так.

Гуглите “матрицу конфигураций”. Составьте таблицу сочетаний OS/браузер, чтобы увидеть, сколько конфигураций вам нужно проверить. Какие-то можно отбросить как ненужные, какие-то придется разбить (например, IE разных версий на одной машине можно поставить, но вот ненадежно это). Так вы определите, какие и сколько конфигураций вам надо.

Ну а потом уже можно подумать и насчет грида и всего остального

1 лайк