Hi Konrad, citing the linked web site: "Local named locks are only suited within one JVM with a multithreaded build. Sharing a local repository between multiple Maven processes (i.e., on a busy CI server) requires a distributed named lock!"
Best Regards Mirko Friedenhagen — Sent from my mobile Am 21.06.22 um 10:20 schrieb Konrad Windszus > Thanks for that suggestion. I know about that workaround. But to speed up > builds and to reduce disk space usage I would really like to use a shared > repo. > > I was wondering if there is any experience with the simple "file-lock” [1]. > That has the advantage that it doesn’t need additional libraries (IIUC). > Configuration should be as easy as setting “aether.syncContext.named.factory” > to “file-lock” [2]. Unfortunately even Maven 3.8.6 still ships with Resolver > 1.6.3 [3] and it seems the suggested branch > https://github.com/apache/maven/commits/maven-3.8.x-resolver-1.7.x is a bit > outdated now… > > Konrad > > [1] - > https://github.com/apache/maven-resolver/blob/2af7bff2a5238bf2597cd7a46b60a12779ee31a3/maven-resolver-named-locks/src/main/java/org/eclipse/aether/named/providers/FileLockNamedLockFactory.java > [2] - https://maven.apache.org/resolver/configuration.html > [3] - https://maven.apache.org/components/resolver/maven-3.8.x.html > > > > On 21. Jun 2022, at 10:01, Lasse Lindqvist <lasse.k.lindqv...@gmail.com> > > wrote: > > > > Hi. If you want to have pipeline build safely, you also have an > > alternative. With the withMaven clause (Pipeline Maven Integration Plugin) > > you can use something like > > > > > > > > *withMaven(maven: 'Maven123', mavenLocalRepo: > > '$WORKSPACE/../../.m2/$EXECUTOR_NUMBER/repository') { // Run my Maven > > commands here* > > * }* > > It will use the workspace folder, travel out of it to a parent location and > > make a sibling .m2 folder and unique subfolder there based on the executor > > number. This way the folders used are executor specific and there will be > > no concurrency problems. The downside is that it will use more disk space > > because many artifacts are stored multiple times. > > > > ti 21. kesäk. 2022 klo 10.51 Konrad Windszus (k...@apache.org) kirjoitti: > > > >> Hi, > >> By default Jenkins uses a global Maven repository which is accessed in > >> parallel by multiple jobs running in dedicated VMs. To prevent race > >> conditions one should probably configure one of the distributed named locks > >> outlined in > >> https://maven.apache.org/resolver/maven-resolver-named-locks/index.html < > >> https://maven.apache.org/resolver/maven-resolver-named-locks/index.html>. > >> Is there any recommendation which one to pick and also some concrete hints > >> how to set that up with Jenkins (Pipelines, leveraging > >> https://www.jenkins.io/doc/pipeline/steps/pipeline-maven/ < > >> https://www.jenkins.io/doc/pipeline/steps/pipeline-maven/>) > >> > >> Is ASF Jenkins using named locks already? > >> Thanks for any pointers > >> > >> Konrad > >> > >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > For additional commands, e-mail: users-h...@maven.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org