Pipeline - запрет параллельного запуска задачи


#1

Добрый день, Коллеги!
Для обычных задач в Jenkins есть возможность разрешить запуск параллельных задач, и если этот флаг не устанавливать, то пока не завершится задача, повторного запуска не будет.

На сборках из скрипта Pipeline данного параметра не обнаружено, и у меня через раз возникает проблема, что основной скрипт еще не закончился, а новый уже стартовал.
Возможно ли каким-либо образом на это повлиять?

И еще вопрос:
В обычных задачах можно было ограничить лейблы сборщиков, которые могут выполнять задачу, и сборка выполняется именно на указанных сборщиках.


В Pipeline мы можем управлять этим секцией
pipeline{
agent{
label ‘VanessaTest2’
}
Это работает, но изначально получение репозитария проекта на этапе Declarative: Checkout SCM выполняется на любой случайный агент. У меня на одном из агентов отсутствует интернет, и сборка падает на этапе инициализации подмодулей.
Возможно ли ограничить узлы сборок на которых может выполняться этап Declarative: Checkout SCM?


#2

pipeline {
options {
disableConcurrentBuilds()
} …

Блокирует параллельное выполнение

На счет определения агента странно. У меня работает. Если указать агента-на нем и стартует задание


#3

Спасибо большое за ответ на первый вопрос.
Нашел для себя еще несколько параметров которые пригодятся.
Проанализировал лог сборки
[Pipeline] node
Still waiting to schedule task
All nodes of label ‘VanessaTest2’ are offline
Resuming build at Thu Aug 10 23:11:54 MSK 2017 after Jenkins restart
Queue item for node block in test_ugsk_dev #133 is missing (perhaps JENKINS-34281); rescheduling
Still waiting to schedule task
All nodes of label ‘VanessaTest2’ are offline
Resuming build at Thu Aug 10 23:14:38 MSK 2017 after Jenkins restart
Queue item for node block in test_ugsk_dev #133 is missing (perhaps JENKINS-34281); rescheduling
Still waiting to schedule task
All nodes of label ‘VanessaTest2’ are offline
Running on GitSync in D:\Repository\GitSync\workspace\test_ugsk_dev

Есть подозрение что сервер сборок пробовал 3 раза запустить на нужно мне ноде, а потом переключился на любую свободную.
Проверю как поведет себя сервер сборок дальше.