Очередь конвейера Jenkins заполняется, когда все агенты отключены
2 ответа
Настроена ли доступность вашего агента на "Как можно больше поддерживать этого агента в сети"?
Один из способов решения этой ситуации - запустить приведенный ниже сценарий на главном узле и построить конвейер (ы), только если хотя бы один из узлов подключен к сети. В качестве параметра вы можете передать имя онлайн-узла вашей последующей работе.
def axis = []
for (slave in jenkins.model.Jenkins.instance.getNodes()) {
if (slave.toComputer().isOnline()) {
axis += slave.getDisplayName()
}
}
return axis
Выше сценария источник: Jenkins: пропустить, если узел отключен
Другие ссылки, которые могут помочь:
Контролируйте и перезапускайте свои подчиненные узлы - https://wiki.jenkins.io/display/JENKINS/Monitor+and+Restart+Offline+Slaves
Я нашел этот скрипт удобным в некоторых ситуациях: https://github.com/jenkinsci/jenkins-scripts/blob/master/scriptler/clearBuildQueue.groovy
Я не увлекаюсь конвейерными работами, но для регулярных работ по фристайлу такой вид очереди будет только в том случае, если ваши сборки будут параметризованы. Затем необходимы отдельные сборки, чтобы гарантировать, что проект будет выполняться отдельно для каждого значения параметра (не имеет значения, действительно ли значение отличается).
Таким образом, удаление параметров сборки в вашем проекте может решить проблему.