Блокировки ресурсов Jenkins: получить блокировку для нескольких определенных ресурсов Node - PullRequest
0 голосов
/ 27 июня 2019

Я хотел бы создать несколько ресурсов для определенного узла или использовать тип многократного использования для нескольких узлов.

В данном случае это «требование к ОЗУ», поэтому имя ресурса, например, будет 1GBRAM. в качестве альтернативы 1GBRAM_Nodexy, если мне нужно указать это для каждого узла.

В конце я хотел бы ограничить количество одновременных заданий на основе пикового объема памяти, используемого заданием на этом узле, чтобы избежать зависаний из-за нехватки памяти на сервере. И я могу установить объем оперативной памяти, доступной для исполнителей.

Разные узлы будут иметь разное количество ОЗУ, а отдельные задания имеют разные требования к ОЗУ.

Поэтому я хотел бы настроить каждое задание с учетом требований к ОЗУ

lock(resource: '1GBRAM_Nodexy', quantity: 8)

Это достижимо с помощью конвейеров и блокируемых ресурсов?

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

Читать о блокировках ресурса и ярлыках. Я не нашел ни одного специфичного для Node раздела, также нет возможности приобрести несколько элементов одного и того же ресурса.

lock(resource: '1GBRAM_Nodexy', quantity: 8)

Я ожидаю, что при каждом запуске задания блокируется эквивалентный объем ОЗУ на используемом подчиненном узле. Если израсходовано недостаточно модулей RAM, задание не запускается на таком узле.

...