2012-06-22 6 views
7

У меня есть 4 узла и 2 задания. Любой узел может одновременно запускать 2 задания, и любое задание может выполняться одновременно. Я хочу иметь возможность ограничивать одновременную работу одной и той же работы на одном компьютере. Например:Дженкинс не позволяет выполнять одно и то же задание одновременно на одном и том же узле?

Работа: J1 и J2 узлов: N1, N2, N3 и N4

можно запустить J1 и J2 на том же узле, в то же время. Я могу запускать J1 на N1 и N3 одновременно. НО Я не хочу запускать J1 и другую сборку J1 на том же узле одновременно.

Я попытался использовать «Замки и задвижки», «Эксклюзивное исполнение Jenkins», плагины «Исключающие плагины», и они будут хорошо работать при попытке координировать различные задания. Но мое дело пытается управлять разными экземплярами сборки одной и той же работы.

+0

Вы забыли упомянуть, где вы используете плагин в «дроссельной заслонки» ... – Gonen

ответ

2

Последний раз я проверил, только одного экземпляр каждого задания может выполняться в одно время, а именно:

Если нажать клавишу [сборки] дважды, первый экземпляр задания будет выполненный, и только после его завершения - начнется следующий.

Действительно ли вы могли одновременно запускать Job1-Build1 и J1-Build2?

+1

Gonen, спасибо за ответ. Да, я могу запускать J1-Build1 и J1-Build2 одновременно. Фактически все задания будут запускаться одновременно без каких-либо проблем. Мое требование состоит в том, чтобы не запускать одно и то же задание (то есть J1) на том же узле: Я хочу предотвратить этот тип сценариев: Запустите J1-Node1 и еще один экземпляр J1-node1. Мое требование: Пока экземпляр J1 уже запущен на Node1 (то есть J1-Node1), запустите экземпляр mew J1 на другом узле (например, J1-Node2), а не в Node1. Если Nod2 также запускает экземпляр J1, то подождите! Спасибо Marek –

+0

Marek, вы можете перейти на другую крайность, предотвратить * любой * экземпляр J1 от запуска до тех пор, пока все остальные не закончатся, поэтому J1-build2 не запустится до завершения J1-build1. Должен использовать «** Блокировать сборку, когда проект вниз по проекту строится **» (в разделе «Дополнительные параметры проекта»). – Gonen

12

Пробег: Throttle Concurrent Builds Plugin. Это позволяет преодолевать количество параллельных сборок проекта, выполняемого на узел или глобально. В вашем случае следует установить:

  • Максимальная полная Параллельное Строит: 0 (= неограничено)
  • Максимальная Параллельное Сборки для каждого узла: 1
+6

Спасибо за указание, что 0 = без ограничений! Я набросился на то, чтобы спросить, почему указать 0, поскольку максимальные общие параллельные сборки все равно приведут к параллельным сборкам, т. Е. Считая, что 0 = 0. :) – linguinee

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