У меня в Дженкинсе есть набор заданий A1, A2, ...
, которые могут выполняться одновременно, а также задание B
, которое никогда не должно выполняться одновременно с любым заданием Ai
. Все эти задания выполняются на одном узле (задания Ai
используют пул исполнителей, которые по причинам, которые не могут быть помогли, изредка должны быть уволены по заданию B
). Могу ли я применить это в Дженкинсе?Как сделать работу взаимоисключающей с заданием в Дженкинсе?
Концепция аналогична концепции shared mutex; вакансий Ai
требуется общий -уровень доступа к бассейну, а для работы B
требуется эксклюзивный -уровень доступа.
Я смотрю на Throttle Concurrent Builds plugin, но из вариантов, которые он предоставляет, имеет только один уровень доступа. Я мог бы сделать B
никогда не совпадающим с любым Ai
, но только делая все Ai
взаимоисключающим.
Есть ли способ достичь поведения с общим мьютексом, либо с помощью этого плагина, либо иным образом?