Со стороны Jenkins, решение состоит в том, чтобы иметь разные папки репо в вашем рабочем пространстве для каждой проверки, чтобы вы не столкнулись с одним и тем же заблокированным проектом дважды.Вы можете сделать это несколькими способами, это зависит только от того, сколько одновременных сборок вы ожидаете одновременно.
Предполагая, что вы используете Git, вы можете добавить это в разделе расширений вашей команды checkout, чтобы каждая сборка была извлечена в своем собственном каталоге, основанном на номере сборки, и в одном каталоге рабочего пространства (т.е.каталог вашего конвейера).
[$ class: 'RelativeTargetDirectory' ,lativeTargetDir: "$ {BUILD_NUMBER}"]
У вас есть два варианта очистки, либо используйте "Очистить репозиторий"& force clone "из команды извлечения или из плагина очистки рабочего пространства.
Имейте в виду, что команда checkout wipe удалит все содержимое каталога, в котором вы собираетесь выполнить следующую проверку, это означает, что остальная часть вашего рабочего пространства останется нетронутой и не будет работать, если вы использовали сборкуномер как в примере выше.Вот что вам нужно добавить в раздел расширений:
[$ class: 'WipeWorkspace']
Плагин cleanWS дает вам большую гибкость, так как вы можетеукажите шаблоны для того, что вы хотите включить, или исключите, если вы измените тип:
cleanWs (шаблоны: [[pattern: '', type: 'INCLUDE']])
Надеюсь, это поможет.