Есть потребность в CI. В качестве CI выбран Jenkins. Есть несколько вопросов.
Задача - забирать тесты из удаленного репозитория и запускать.
Какую ОС выбрать?
Должна ли на ней быть графическая оболочка?
Как организовать ноды? Например нужно запускать тесты под сафари и под IE понятное дело что на убунту их не поставишь.
Дайте ссылок / совет
На сколько я понимаю тесты будут запускаться в гриде. А значит на какой ОС устанавливать CI сервер абсолютно не важно. Графическая оболочка там по той же причине не понадобится. Т.е. в вашем случае конфигурация будет примерно такая: CI сервер на любой ОСи, грид хаб, ноды с нужными осями-браузерами.
Ну и да, если имелись в виду ноды дженкинса, а не грида, конфигурация будет такая же
Тесты должны бегать на IE, Safari, Chrome, Firefox. Соответственно нужны Windows и OS X я так полагаю.
Нет, сторонними сервисами пользоваться не намеренны, только свои машины.
Есть ряд тестов, которые должны запускатся на Safari, Firefox, Chrome, IE. Хочу так что бы нажать 1 кнопочку - билд, и дженки у меня спросил на каком браузера выполнить тесты, сразу на всех или на тех которые я укажу.
Вот цель.
Все зависит от того как должны выполнятся тесты.
Вариант 1. Последовательно: Нажали кнопочку - выбрали хром и на одной определенной станции побежали тесты в хроме. Ответ: дженкинс
Вариант 2. Параллельно: Нажали кнопочку - выбрали хром и на всех доступных станциях побежали тесты. Ответ: грид.
Последнюю неделю провел за экспериментами и сравнением дженкинса и тимсити, и склоняюсь больше к тимсити.
Теперь думаю о конфиге каждой ноды (имею ввиду ресурсы - cpu, ram)
Пригодится. Например, если на какой-то машине вылезает проблема, которая не воспроизводится на других машинах, то было бы неплохо иметь возможность удаленно зайти на машину и своими глазами увидеть, что же там не так.
Гуглите “матрицу конфигураций”. Составьте таблицу сочетаний OS/браузер, чтобы увидеть, сколько конфигураций вам нужно проверить. Какие-то можно отбросить как ненужные, какие-то придется разбить (например, IE разных версий на одной машине можно поставить, но вот ненадежно это). Так вы определите, какие и сколько конфигураций вам надо.
Ну а потом уже можно подумать и насчет грида и всего остального