Jenkins Pipeline ограничивает другие рабочие места

Я пытаюсь заблокировать запуск некоторых других заданий, когда работает конвейер jenkins,
я пытался использовать плагин исключения или throttle-concurrent-builds- плагин
с такой структурой:

 node(){
     stage "test"
     allocate('test')
     sleep time: 15, unit: 'MINUTES'
     sh "echo 'yes'" }

@NonCPS
def allocate(String resource){

  throttle = new hudson.plugins.throttleconcurrents.ThrottleJobProperty(
    maxConcurrentPerNode=1,
    maxConcurrentTotal=1,
    categories = [resource],
    throttleEnabled=true,
    throttleOption="category",
    matrixOptions=null
    )
  throttle.setOwner()
  throttle = null
  return true
}

Но, похоже, он ничего не делает...
Я начинаю с подключаемого модуля Groovy Pipeline, и меня блокирует невозможность регулировать другие задания
Спасибо за вашу помощь!


person doctori    schedule 15.03.2016    source источник


Ответы (2)


Для тех, у кого такая же проблема,
вы можете использовать этот плагин: https://github.com/jenkinsci/lockable-resources-plugin
, используя эту ветку: https://github.com/jenkinsci/lockable-resources-plugin/pull/25

Я не знаю, будет ли это когда-нибудь объединено, но MR полностью пригоден для использования и может использоваться как:

echo 'Starting'
lock('my-resource-name') {
  echo 'Do something here that requires unique access to the resource'
  // any other build will wait until the one locking the resource leaves this block
}
echo 'Finish'
person doctori    schedule 30.03.2016
comment
Похоже, ветка была объединена с мастером :) - person Krzysztof Krasoń; 08.05.2016
comment
Имейте в виду, что плагин Lockable Resources блокирует выполнение задания ПОСЛЕ выделения узла/исполнителя. - person deadmoto; 24.06.2016

Плагин Throttle пока не поддерживается в конвейере — JENKINS-31801.

Плагин Locks and Latches может помочь в некоторых простых случаях, хотя в будущем он может стать устаревшим — Предлагаемое прекращение поддержки плагина.

person Alexander Vorobiev    schedule 15.09.2016
comment
Все еще не поддерживается? - person lostintranslation; 27.09.2018