Несколько блокируемых ресурсов с одноименной меткой в ​​Jenkins

Моя проблема связана с блокируемыми ресурсами в Дженкинсе. В настоящее время у меня есть два узла "nodeA" и "nodeB", на каждом узле есть USB-ключ, который можно определить как блокируемый ресурс.

Некоторые задания jenkins можно запустить только при наличии USB-ключа. Итак, чего я хочу добиться, имея две работы jenkins, работающие одновременно с каждым ключом, всякий раз, когда node/dongle_usb свободен.

Я создал два блокируемых ресурса "USB_dongle" и "USB_dongle2" с меткой для каждого, например "usb_label", я хочу, чтобы это была одна и та же метка для двух блокируемых ресурсов, потому что мне все равно, на каком узле он будет запущен, и я хочу иметь оба рабочие места, работающие вместе. Но проблема в том, что когда задание запускается на узле, оно блокирует два блокируемых ресурса "usb_dongle" и "usb_dongle2", потому что метка "usb_dongle" находится в каждом блокируемом ресурсе. Как я могу сохранить одно и то же имя метки для своих заданий и запустить их одновременно на двух узлах. Потому что в настоящее время один узел блокирует два блокируемых ресурса, а другой ждет освобождения "usb_label". Я хотел бы, чтобы Дженкинс понял, что два ярлыка "usb_label" с одинаковым именем «разные».

В этом примере возьмите «USB_dongle» как «GHS_dongle»: Конфигурация узла:

Конфигурация задания: проект может быть выполнен только на узле с меткой «ghs», а также требует блокируемых ресурсов с меткой «ghs_dongle».

Запираемые ресурсы:

Пожалуйста, улучшите вопрос, добавив 2 изображения, по одному для каждой конфигурации узла. Хотел бы посмотреть, как вы настроили метки.

mdabdullah 15.12.2020 12:06

@mdabdullah редактирование готово

PierreP 15.12.2020 13:45

У вас есть ограничение ресурсов, которое вызывает проблему параллелизма. Ваши метки в порядке, и по замыслу они должны блокировать систему. Можете ли вы проверить, что произойдет, если вы поставите Number of executors= 2 для обоих узлов? Я хочу узнать, применяется ли lock на уровне executor или на всем node.

mdabdullah 15.12.2020 15:31

С 1 работает хорошо как и хотел большое спасибо :)

PierreP 15.12.2020 15:41

Получивший удовольствие! Пожалуйста, проголосуйте за мой предыдущий комментарий и отметьте этот вопрос как answered вместе с вашим ответом.

mdabdullah 15.12.2020 19:12
"DevOps: Jenkins & AWS Series, часть 5: Установка Gradle на Ubuntu 22.04
"DevOps: Jenkins & AWS Series, часть 5: Установка Gradle на Ubuntu 22.04
В этой статье блога мы проведем вас через процесс установки Gradle на Ubuntu 22.04, интеграции его с Jenkins и создания задания Gradle. Мы...
1
5
509
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Добавил 1 к количеству запрашиваемых ресурсов и все работает! (Раньше был 0, поэтому потребовались все ресурсы) Спасибо @mdabdullah

Другие вопросы по теме