首页 > 解决方案 > 在 Jenkins 主机上运行 Maven 时出现并发问题

问题描述

我经常在目录 /home/jenkins/.m2/.../some-project/ 中的 Jenkins 主机上遭受损坏的 maven-metadata-local.xml 文件

例如,添加到 maven-metadata-local.xml 文件末尾的额外行如下:

  ...
  </versioning>
</metadata>
astUpdated>
  </versioning>
</metadata>

我是否遇到并发问题?就像这里描述的一样(创建于 2007 年,但仍未解决):https ://issues.apache.org/jira/browse/MNG-2802

我能做些什么来缓解这个问题?

标签: mavenjenkinscontinuous-integrationmaven-3

解决方案


您不能同时为两个构建使用相同的本地存储库,否则您将面临数据不一致的风险。

我们通过每个管道使用一个本地存储库“解决”了这个问题,即我们构建的每个 Java 项目都有自己的本地存储库。

这当然是对空间的巨大浪费(尤其是因为有 1800 个 Java 项目,所以有 1800 个本地存储库),但这是一个简单的解决方法。但是,可以使用本地存储库池。构建可以在开始时锁定其中一个,并在结束时释放它。但是您可能需要自己编写该逻辑。


推荐阅读