2016-03-03 2 views
0

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

  • У нас есть работа Дженкинс, который будет строить наше приложение
  • Мы хотим, чтобы закрутить набор тестовых заданий, которые будут выполнять различные тесты для недавно созданного приложения (блок, интеграция и т. д.). Они должны выполняться параллельно, и мы хотим запускать их на нескольких узлах jenkins по соображениям производительности.
  • Мы возьмем агрегированный результат всех наших тестовых процессов с шага 2 и сможем решить, будем ли мы должен быть развернут (все прошло) или нет

Мне было любопытно, смогу ли я сделать это в плагине, и если да, если у вас есть какие-либо советы/указатели для начала.

Спасибо!

ответ

1

Возможно, вы запустите node с внутри parallel ветви. Если одна ветка выходит из строя, шаг parallel в целом не выполняется. Если вы хотите, чтобы сборка была успешной, но ведите себя по-разному в зависимости от результатов теста, вы можете захватывать их напрямую как переменные Groovy различными способами.

Если вы используете JUnitArchiver, в настоящее время она не обеспечивает простое средство воздействия на результаты испытаний непосредственно в сценарий трубопровода (JENKINS-26276), хотя, если вы просто хотите сказать, если есть некоторые сбои или ни один, вы можете проверить currentBuild.status.

Если у вас есть результаты тестов JUnit-формат и хотят автоматически разделить их между различными узлами (особенно полезно в случае, если у вас есть большой бассейн машин, и было бы неосновательной вручную разделить тесты), см this demo из плагин Parallel Test Executor плагин splitTests.

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