#jenkins #jenkins-plugins
#дженкинс #дженкинс-плагины
Вопрос:
Допустим, у меня есть задание A, а также настроен агент. Я хочу запустить сборку 1 задания A на главном и сборку 2 задания A на узле агента. Есть ли возможность добиться этого?
или
Есть ли способ, при котором моя работа просматривает контроллер и, если он уже находит запущенную сборку, затем запускает следующую сборку на агенте?
Ответ №1:
Вы собираетесь работать параллельно или просто чередовать? (Не очень хорошая идея запускать задания на главном узле; можно настроить узел для запуска на том же хосте, что и «главный».). Кажется, он параллельный, и вы ограничились одним исполнителем для каждого мастера и агента (у вас может быть больше, и в этом случае любые советы могут быть спорными).
Тем не менее, распределение заданий очереди Дженкинса для исполнителей является «липким»; он пытается выполнить последний запуск, если он недоступен. Это может привести к перегрузке в узлах. Таким образом, шаблон M, A, M, A является неестественным.
Есть плагины, которые могут помочь: наименьшая нагрузка, балансировщик нагрузки, но, возможно, нет.
Возможно, подход заключался бы в том, чтобы ограничить вашу работу с помощью метки и выполнить пошаговый шаг после сборки, который перемещает метку на другую после успеха для следующего запуска или двух меток, и задание самостоятельно изменяет метку, чтобы она соответствовала другой.
Комментарии:
1. Я хочу запускать сборки одновременно. Проблема в том, что у меня есть 2 подчиненных узла с одинаковой меткой. Но каждая сборка задания выполняется только на ведомом устройстве-1. Я никогда не видел, чтобы это запускало сборку на ведомом устройстве-2. Если я запускаю 3 одновременных сборки, все они складываются на slave-1. Как подсказать, я могу это исправить?
2. У вас есть только один исполнитель на узел? Включили ли вы в задании: [ ] При необходимости выполнять параллельные сборки? Если вы не установите флажок параллельно, они будут ждать.
3. У меня есть 4 исполнителя на каждом узле. Я не вижу «Выполнять параллельные сборки, если это необходимо» в моей конфигурации задания, но я вижу «Не разрешать параллельные сборки», который не отмечен. Это означает, что я разрешаю параллельные сборки.
4. Скоринговый балансировщик нагрузки выполнил требование. Спасибо @Ian