2016-04-20 2 views
2

У меня в Дженкинсе есть набор заданий A1, A2, ..., которые могут выполняться одновременно, а также задание B, которое никогда не должно выполняться одновременно с любым заданием Ai. Все эти задания выполняются на одном узле (задания Ai используют пул исполнителей, которые по причинам, которые не могут быть помогли, изредка должны быть уволены по заданию B). Могу ли я применить это в Дженкинсе?Как сделать работу взаимоисключающей с заданием в Дженкинсе?

Концепция аналогична концепции shared mutex; вакансий Ai требуется общий -уровень доступа к бассейну, а для работы B требуется эксклюзивный -уровень доступа.

Я смотрю на Throttle Concurrent Builds plugin, но из вариантов, которые он предоставляет, имеет только один уровень доступа. Я мог бы сделать B никогда не совпадающим с любым Ai, но только делая все Ai взаимоисключающим.

Есть ли способ достичь поведения с общим мьютексом, либо с помощью этого плагина, либо иным образом?

ответ

2
  • Там в Block queued job plugin:

    плагин для блокировки/разблокировки работу в очереди на определенных условиях, настроенных в этой работе.

  • Там в Build Blocker Plugin:

    Этот плагин сохраняет фактическую работу в очереди, если по крайней мере один имя запущенных рабочих мест соответствие с одним из заданных регулярных выражений.

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