我正在寻找关于Jenkins构建和使用本地.m2存储库的一些清晰度。当我在本地构建我的maven项目时,使用命令
"mvn clean install -U"
maven在我的本地〜/ .m2 /存储库中找到了一些罐子。另一方面,我使用的Jenkins运行在我通过浏览器访问的远程安全服务器上。当Jenkins在本地使用上面的命令构建相同的pom文件时,它从我在Jenkins配置中指定的GitHub url获取它。根据我的观察,Jenkins只希望从Jenkins settings.xml中声明的远程存储库下载jar。在我看来,Jenkins永远不会看到或可以使用我的本地.m2存储库或我的驱动器m2文件夹中的任何其他本地。真的吗?有詹金斯知识的人可以确认吗?
答案 0 :(得分:1)
你是对的,Jenkins 无法找到你的本地存储库。
它将使用自己的本地存储库来下载依赖项。 (默认情况下,它也是~/.m2/repository
。)
本地存储库充当缓存。 The documentation州:
严格来说,只有两种类型的存储库:本地存储库和远程存储库。本地存储库是指您自己的安装上的副本,它是远程下载的缓存,还包含您尚未发布的临时构建工件。
进一步说明:如果您有多个构建版本访问本地存储库中的同一工件,则可能会导致问题。一个好的做法是为每个项目设置“私有maven存储库”或per job or executor。