Как запустить один job с другими подджобами, где каждый на отдельной машине ?

jenkins
infrastructure
pipeline
java
Теги: #<Tag:0x00007f7b6d186600> #<Tag:0x00007f7b6d186498> #<Tag:0x00007f7b6d186330> #<Tag:0x00007f7b6d1861f0>

(Валерий Пидына) #1

У меня небольшая проблема. У меня есть тесты на ведомой машине Jenkins, для которой нужна мышь. Итак, у меня много тестов. Конечно, я могу поменять в .bat-файле это mvn test -DfailIfNoTests = false -Dtest = на что-то вроде с использованием ключа -T, чтобы сделать мою сборку тестов быстрее. Но мои тесты используют мышь на дисплее. И сделать тесты с несколькими потоками могут привести к конфликту с использованием мыши в сеансе Windows. Как я могу решить эту проблему: у меня есть несколько .bat-файлов с моими mvn-тестами, мне нужно быстрее выполнять работу, но без конфликтов. У меня есть несколько идей с использованием мультисессии сервера Windows или что-то вроде использования виртуальных машин. Но как разрешить это с помощью jenkins, как это разрешить технически? Я не строил pipeline, я использовал веб-графический интерфейс для создания job-а. Как можно выполнить job на нескольких машинах? Спасибо за помощь.
По сути у меня есть батники, которые я могу запустить отдельно, но как мне в пределах одного джоба запустить разные батники на разных машинах ?


(Vladislav Abramov) #2

а если подрубить слейвы к мастер-ноде дженкинса и в морде раскидать выполнение батников по разным слейвам?


(Michael Kotov) #3

Как и написал предыдущий оратор - подрубаем слейвы в мастер ноде, и делаем по одному экзекьютеру на слейв.
Ставим мультиджоб плагин к дженкинсу
https://wiki.jenkins.io/pages/viewpage.action?pageId=59510168
После этого заводим мультиджобу, в которой будем вызывать джобу ранающую батник нужное количество раз (имя батника можно прокинуть в параметрах) параллельно на слейв нодах.