По умолчанию, только одна сборка проекта выполняется одновременно - все
остальные запросы начала сборки этого проекта останутся в очереди сборок до
тех пор, пока не будет закончена первая сборка.
Это безопасное значение по умолчанию, так как проекты часто могут требовать
исключительного доступа к некоторым ресурсам, например, к базе данных или к
оборудованию.
Но при включении этой опции, если доступно достаточно сборщиков для этого проекта, то несколько сборок проекта будут происходить параллельно. Если в какой-то момент сборщиков станет недостаточно, все последующие запросы сборки, как обычно, останутся в очереди сборок.
Включение одновременных сборок полезно для проектов, выполняющих длинные
наборы тестов - это позволяет запускать отдельные сборки с меньшим
количеством изменений в каждой, затрачивая меньше времени в сумме, так как
следующие сборки не будут ждать, пока предыдущие тесты закончат выполнение.
Также эта опция полезна для параметризованных проектов, отдельные запуски
которых, в зависимости от параметров, могут быть полностью независимыми друг
от друга.
Каждая параллельно запущенная сборка выполняется в отдельном от других
сборок рабочем пространстве. По умолчанию Jenkins добавляет "
@<num>
" к названию сборочной директории, например, "
@2
".
Разделитель "
@
" можно изменить, установив системное свойство Java
hudson.slaves.WorkspaceList
при запуске Jenkins. Например, "
hudson.slaves.WorkspaceList=-
" заменит разделитель на дефис.
Больше информации об установке системных свойств смотрите на
сайте
.
Однако, если включить опцию Использовать другую директорию , все сборки будут выполняться в одной директории. Следует делать это с осторожностью, так как несколько сборок смогут вносить изменения в одну и ту же директорию одновременно.