jenkins - невозможно запустить несколько шагов сборки параллельно, если необходимо выполнить параллельные сборки Execute - PullRequest
0 голосов
/ 19 февраля 2019

Я выполняю набор тестовых случаев для фреймворка робота, используя Jenkins.

Существует два набора тестов, Set1 и Set2, и я хочу, чтобы эти два теста проходили параллельно.Итак, я создал два шага сборки и использовал Execute concurrent builds if necessary, а в ведомом устройстве, которое я настроил, я использовал # of Executors до 2. Мы собираем его, только тестовые случаи из Set1 выполняются первыми и завершаются.

Build step1 - Execute window batch command
    robot -d results -i group1 -P path/fldr1/fldr2:4.path/fldr3/fldr4:C:/Python27/Lib/site-packages "path\fldr5\fldr6\fldr7"

Build step2 - Execute window batch command
    robot -d results -i group2 -P path/fldr1/fldr2:4.path/fldr3/fldr4:C:/Python27/Lib/site-packages "path\fldr5\fldr6\fldr7"

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

Ответы [ 3 ]

0 голосов
/ 22 февраля 2019

Мы используем pabot для параллельного выполнения с jenkins.

Я думаю, что pabot решит ваш вопрос.

О Pabot:

Pabot разделит выполнение теста отфайлы комплекта, а не из индивидуального уровня тестирования.В общем случае вы не можете рассчитывать на тесты, которые не предназначены для параллельного выполнения, чтобы работать "из коробки" при параллельном выполнении.Например, если тесты манипулируют или используют одни и те же данные, вы можете столкнуться с проблемами (один набор тестов входит в систему, а другой - в тот же сеанс и т. Д.).PabotLib может помочь вам решить эти проблемы параллелизма.

Чтобы установить Pabot

pip install -U robotframework-pabot

Пример запуска pabot

pabot --processes 4 --verbose --loglevel TRACE --argumentfile "ArgsFile.args" -d Results  -t test_demo1 Tests\Paralel\ParalelTests.robot

Для получения дополнительной информации Проверьте https://github.com/mkorpela/pabot

0 голосов
/ 16 августа 2019

Для этой цели вы можете использовать Плагин Build Flow .Удивительно, что это устарело сейчас.Я был использован в прошлом.Все работало без каких-либо проблем, и это была хорошая аналогия с конвейерным подходом.

Вы можете запустить два задания параллельно (даже одно и то же задание с разными параметрами).
Ваша конфигурация может быть такой:

parallel (
    // job 1, 2 will be scheduled in parallel.
    { build("job_1", "param_1":"50", "param_2":"true") },
    { build("job_2", "param_1":"42", "param_2":"false") }
)
0 голосов
/ 20 февраля 2019

Я полагаю, что вам нужно два одновременных задания каждое с одним шагом сборки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...