Always use a different local repositories for different projects in Jenkins.
You can do this by setting the system property
-Dmaven.local.repo={project_workspace_dir}Regards, Srinath. On Wed, Mar 7, 2012 at 1:59 PM, Jörg Schaible <[email protected]>wrote: > Hi Guillaume, > > Guillaume Polet wrote: > > > Dear all, > > > > I was having some doubts regarding Maven's ability to handle properly > > concurrent builds. Lately, I had several builds of our project that > > failed and it seemed that it was due to interferences between concurrent > > builds of the same version of the same project. > > > > I have a jenkins server which have 6 different builds: > > * 1 for continuous build (which runs tests but does not deploy the > > artifacts) > > * 1 for nightly build > > * 1 for releases (or almost release, ie, the pom is still in SNAPSHOT > > version but could become a release) > > All this is multiplied by two, because I have two versions (on 2 > > different branches). > > > > So I had 2 questions: > > 1. Can/Does Maven support concurrent builds of the same version of the > > same project? > > Not out of the box. Since by default both builds will use the same local > repository creating the same artifacts at same time, the artifacts in the > repository are likely to be corrupted. > > > If yes, do I need to do something to achieve this? > > Use separate local repositories, it can be defined using separate > settings.xml files or by call with a system property. Actually I don't know > if Jenkins already supports something like this, because it's a general > problem, see below. > > > If not, > > is it something that Maven developers are considering? > > It's not the first time this problem has been risen. > > > 2. Can/Does Maven support concurrent builds of different versions of the > > same project? > > They may still corrupt the metadata.xml files, but it is less likely and > has > AFAICS less consequences. > > However, every concurrent build may corrupt a shared local repository, > because both builds may download the same artifacts at same time. A > scenario > where this might happen is when you upgrade versions (e.g. of plugins) in a > common master-pom and start two parallel builds then. Actually I am not > sure > if you're safe when running one Maven build in parallel mode. A repository > manager like Nexus might prevent this scenario by detecting the same > request, but again I am not sure if it does. > > BTW: This is also the reason why you should never share a local repository > with a network mount by multiple users. > > > > > > Cheers, > > Guillaume > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
