Вы не можете использовать один и тот же локальный репозиторий для двух сборок одновременно, или вы рискуете противоречивыми данными.
Мы «решили» проблему, используя один локальный репозиторий на конвейер, то есть каждый создаваемый нами Java-проект имеет свой собственный локальный репозиторий.
Это, конечно, огромная трата пространства (особенно потому, что у него 1800 Java-проектов, а значит, 1800 локальных репозиториев), но это простой обходной путь. Однако можно было бы использовать пул локальных репозиториев. Сборка может заблокировать один из них при запуске и освободить его при завершении. Но вам, вероятно, придется программировать эту логику самостоятельно.