2016-05-31 3 views
1

Кто-нибудь знает способ разбить одно задание Дженкинса на части и запустить их одновременно/параллельно?Разделение Дженкинса Работа, выполняемая одновременно

Например, если у меня есть работа, которая проходит испытания, которые принимают 30 минут, есть способ, которым я могу разбить эту работу на три 10 минутных прогоны, которые работают одновременно, но в трех различных случаях

Спасибо авансовый.

+0

Разделить задачи на 3 задания и запустить их на 3 разных экземплярах? – SilentMonk

+1

Возможный дубликат - http://stackoverflow.com/questions/37540591/parallel-test-execution-jenkins – SilentMonk

ответ

0

Создайте новые вакансии, назовите его f.e. Тест. Вы должны выбрать тип задания в зависимости от типа задания root.

Если у вас есть тип Maven работы, вы можете установить каталог рабочего пространства под сборки ->выдвинутой. Freestyle Тип работы имеет этот опцион непосредственно под проект ->продвинутый.

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

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

Отредактируйте свою работу с корнем и удалите из нее длительные тесты. Вы можете называть там три задания. Но вам нужен Parameterized Trigger Plugin.

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

+0

Спасибо @CSchulz, в продвинутом построении проекта maven я также заметил флажок «Строить модули параллельно», , Было бы полезно? Приветствия. – colin

+0

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

0

Если вы используете Jenkins 1.x, я предложил бы пробуя multijob плагин - я успешно использовал его, чтобы разделить одно задание на родительском работу плюс несколько заданий детей:

https://wiki.jenkins-ci.org/display/JENKINS/Multijob+Plugin

Если вы используете Jenkins 2.x, а затем попробовать функцию трубопровода :) Это делает запуск параллельных задач очень легко:

https://github.com/jenkinsci/pipeline-plugin/blob/master/TUTORIAL.md#creating-multiple-threads

Если вы хотите, я полагаю, вы можете также использовать трубопроводы в Дженкинс 1 , x с помощью плагина. Однако я не занимался этим.

Смежные вопросы