2016-09-14 8 views
1

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

+0

Вы имеете в виду оформить ту же работу несколько раз? И какая у вас настройка Дженкинса? Вы используете Докер в качестве рабов? – Fadi

+0

@Fadi Да, так что в настоящее время у меня есть 4 Исполнителя. Если я вручную создам проект 5 раз быстро назад. Он использует 4 Build Executors и помещает 1 сборку в очередь. Но если я построю проект 6 раз вместо 5, он все равно ставит только 1 сборку в очередь вместо 2, как должен. –

+0

Интересно, связано ли это с этим: https://issues.jenkins-ci.org/browse/JENKINS-2483?focusedCommentId=127046&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-127046 – Fadi

ответ

3

Это предназначено поведение:

  • Обычно, ваши работы будут зависеть от некоторых входных сигналов (от SCM, или от некоторых добывающих работ)
  • Если ведомая емкость слишком мала, чтобы догнать каждая конструкция, тогда вы обычно хотите протестировать/построить/... только самый последний «элемент».

Это поведение по умолчанию. Без этого существует риск того, что очередь сборки будет расти бесконечно.

Кроме того, Дженкинс не отслеживает свойства обычных запросов на построение - все они выглядят одинаково, и Дженкинс не может (например) разделить разные состояния SCM, существовавшие в разные моменты запуска.

Это, однако, именно тот момент, что дает вам обходного путь: параметризацию заданий, а затем использовать, например, параметризированные сборки Trigger на других проектах после построения действия, чтобы вызвать их. Затем Jenkins будет ставить в очередь каждый запрос на сбор отдельно - и внутри вашей работы вы можете использовать этот параметр, чтобы узнать, что именно нужно сделать.

Я думаю что Дженкинс не будет даже кабачки очередь параметризованных сборки, которые имеют одинаковые значения параметров, так что даже некоторые фиктивный параметр, который имеет такое же значение, все время должны делать (но лучше тест это первый).